Skip to content

Commit a2eee74

Browse files
authored
Migrate from submodules to subtrees (#132)
* Make all `Readable`s `Receivable` * Apply automatic changes * Apply automatic changes * Use `receive` instead of `as` for `HttpResponse`s * Rename `as` to `receive` on `HttpResponse` * Make `Receivable` more general * Apply automatic changes * Further work generalizing `Receivable` * Apply automatic changes * Switch to using Java standard library `HttpClient` * Apply automatic changes * Use new `HttpHeader`s for `HttpResponse`s as well * Use `HttpHeader`s for `HttpResponse`s * Apply automatic changes * Apply automatic changes * Whitespace * Export `TcpError` to `soundness` * Better diagnosis of TCP errors * Apply automatic changes * Better diagnosis of TCP errors * Apply automatic changes * Abstract over HTTP backend * Apply automatic changes * Put `HttpClient` into a separate file * Apply automatic changes * Include `Origin` as part of a URL * Apply automatic changes * Support UNIX domain sockets * Provide a `Localhost` value * Apply automatic changes * Support tweaks to Telekinesis API * Apply automatic changes * Numerous changes to support sending HTTP requests to domain sockets * Apply automatic changes * Apply automatic changes * Further support for UNIX domain sockets * Apply automatic changes * Improvements to `HttpResponse` parsing * Remove duplication of `bytes` from `StreamError` message * Apply automatic changes * Work in progress to get first request working * Apply automatic changes * Make `Memory` values decodable from `Json` * Apply automatic changes * Obviate `omit` parameter in `Decodable` * Obviate `omit` parameter in `Decodable` * Apply automatic changes * Remove unnecessary import * Change to `Decodable` API * Apply automatic changes * Obviate `omit` method from `Encodable` * Stop using `omit` method in `Encodable` * Apply automatic changes * Apply automatic changes * Reinstate generic derivation for `Inspectable` * Apply automatic changes * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Apply automatic changes * Use `Decodable` instead of `Decoder` * Apply automatic changes * Apply automatic changes * Use `Decodable` instead of `Decoder` * Apply automatic changes * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Apply automatic changes * Apply automatic changes * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Apply automatic changes * Use `Decodable` instead of `Decoder` * Apply automatic changes * Apply automatic changes * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Apply automatic changes * Apply automatic changes * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Use `Decodable` instead of `Decoder` * Apply automatic changes * Apply automatic changes * Apply automatic changes * Apply automatic changes * Apply automatic changes * Apply automatic changes * Apply automatic changes * Apply automatic changes * Update docs slightly * Apply automatic changes * Apply automatic changes * Synchronize all submodules * Removed all submodules * Removed .gitmodules file --------- Co-authored-by: propensive <propensive@users.noreply.github.com>
0 parents  commit a2eee74

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+2552
-0
lines changed

.fury

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/usr/bin/env bash
2+
:<< "##"
3+
┌─────────────────────────────────────────────────────────┐
4+
│ Rudiments │
5+
│ ‾‾‾‾‾‾‾‾‾ │
6+
│ This file contains a Fury build definition. │
7+
│ Fury can be downloaded from https://fury.build/ │
8+
│ or your can just run this file on the command line. │
9+
└─────────────────────────────────────────────────────────┘
10+
11+
ecosystem vent 3 https://github.com/propensive/vent main
12+
13+
command compile rudiments/core
14+
default compile
15+
16+
project rudiments
17+
name Rudiments
18+
website https://github.com/propensive/rudiments
19+
license apache-2
20+
description Rudimentary utilities for writing everyday Scala
21+
22+
module core
23+
compiler scala
24+
sources src/core
25+
include vacuous/core
26+
include anticipation/path
27+
include anticipation/http
28+
include anticipation/log
29+
30+
stream latest
31+
lifetime 7
32+
guarantee functionality
33+
34+
stream stable
35+
lifetime 180
36+
guarantee source
37+
38+
##
39+
40+
code=H4sIAAAAAAAAA1WQzW6CUBCF9zzF5IagpuFH8KINwU1t04XGB5Au4P4IkQsUvdUmrPpEfbI+QwdITLubmZM558vhMTFf97tn12Epy4Urdf\
41+
vpXlRDIokKH3YSNbE5ScRhsYpo5C88hXMwzisFZaorfG0Br38lT/18fQ+3iaFjchQXp3dzMl2UnEQHsCUQUxJ467qpYHmNWwOb+lqVdcqL6gimJ\
42+
palTrxowW5Q5bhOr2gE9vsebNS7jum2BPu8hcQw9WzdG1oWy1XN4eE2+HeduBUXmM/AX7tcfLiVLsvoHviUC3bq03YbCnl6zqGWMLgcUJ8qTjFt\
43+
BPXXiXF3QGjUzlqNIblIOdgs8P/FzAjEENAwXPJMho9hOmfBMs2oz6nH53JJA+5nfQEj4kiVGD3Xdqi1B3vpW3McJBoohto8YvwCkFcY9LsBAAA=
44+
45+
eval "$(echo $code | base64 -d | gzip -d)"

.github/contributing.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<img src="/doc/images/200x200.png" align="right">
2+
3+
# Contributing to Rudiments
4+
5+
Firstly, thank you for taking an interesting in contributing! Rudiments is an
6+
open-source project, and welcomes contributions in the form of feature code,
7+
bug reports and fixes, tests, feature suggestions and anything else which may
8+
help to make it better software.
9+
10+
Rudiments is one of a large number of
11+
[Soundness](https://github.com/propensive/soundness/) projects, which benefit
12+
from having consistent integrations and automated admin tasks. These will be
13+
developed across all projects simultaneously, and there's a roadmap for
14+
improving them. So we are not currently looking for enhancements in this area,
15+
but you're welcome to enquire.
16+
17+
## Before Starting
18+
19+
It&rsquo;s a good idea to [discuss](https://discord.gg/MBUrkTgMnA) potential
20+
changes with one of the maintainers before starting work. Although efforts are
21+
made to document future development work using the [issue tracker](/issues), it
22+
will not always be up-to-date, and the maintainers may have useful information
23+
to share on plans.
24+
25+
A bad scenario would be for a contributor to spend a lot of time producing a
26+
pull request, only for it to be rejected by the maintainers for being
27+
inconsistent with their plans. A quick conversation before starting work can
28+
save a lot of time.
29+
30+
If a response is not forthcoming in the [Discord
31+
chatroom](https://discord.gg/MBUrkTgMnA), open a [GitHub
32+
issue](https://github.com/propensive/rudiments/issues) or contact the project
33+
maintainer directly _but publicly_. Please __do not__ contact the maintainer
34+
about technical issues privately, as it misses a good opportunity to share
35+
knowledge with a wider audience, unless there is a good reason to do so. Jon
36+
Pretty can usually be contacted [on X](https://x.com/propensive).
37+
38+
All development work&mdash;whether bugfixing or implementing new
39+
features&mdash;should have a corresponding issue before work starts. If you
40+
have commit rights to the `propensive/rudiments` repository, push to a branch named
41+
after the issue number, prefixed with `issue/`, for example, `issue/23`.
42+
43+
## Contribution standards
44+
45+
Pull requests should try to follow the coding style of existing code in the
46+
repository. They are unlikely to be rejected on grounds of formatting, except
47+
in extreme cases. Rudiments does not use automatic code-formatting because it
48+
has proven to produce unreliable and unsatisfactory results (and furthermore,
49+
hand-formatting is not particularly laborious).
50+
51+
Unfortunately an official coding style guide does not yet exist.
52+
53+
Any code that is inconsistently formatted will be tidied up, if necessary, by
54+
the project maintainers, though well-formatted code is appreciated.
55+
56+
## Code reviews
57+
58+
Pull requests should have at least one review before being merged. When opening
59+
a pull request, contributors are welcome to suggest a reviewer. Pull requests
60+
should be left in _draft_ mode until they are believed to be ready for review.
61+
62+
The preferred method of reviewing a pull request is to schedule a video call
63+
with the reviewer and talk through it. It is much faster to share understanding
64+
between the contributor and reviewer this way.
65+
66+
For code contributions, we prefer pull requests with corresponding tests, if
67+
that's appropriate. Changes which break existing tests, however, are likely to
68+
be rejected during review.
69+
70+
## Reporting issues
71+
72+
New issues are welcome, both as bug reports and feature suggestions. More
73+
precision is preferable, and the clearest and most detailed reports will most
74+
likely be addressed sooner, but a short report from a busy developer is still
75+
preferred over a bug we never hear about. We will ask for more detail in triage
76+
if it&rsquo;s needed.
77+
78+
## Conduct
79+
80+
Contributors and other participants in online discussions are expected to be
81+
civil, on-topic and to nurture a pleasant development environment for all
82+
Rudiments&rsquo;s users. Individualism is valued, and nobody should feel
83+
constrained in how they express themselves, as long as they adhere to the
84+
expectations.
85+
86+
Propensive O&Uuml; have some powers to address conduct issues, but that will
87+
start with an informal conversation, and without prejudice.
88+

.github/license.md

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
# Apache License
2+
3+
_Version 2.0, January 2004_
4+
_[http://www.apache.org/licenses/](http://www.apache.org/licenses/)_
5+
6+
## Terms and Conditions for use, reproduction, and distribution
7+
8+
### 1. Definitions
9+
10+
“License” shall mean the terms and conditions for use, reproduction, and
11+
distribution as defined by Sections 1 through 9 of this document.
12+
13+
“Licensor” shall mean the copyright owner or entity authorized by the copyright
14+
owner that is granting the License.
15+
16+
“Legal Entity” shall mean the union of the acting entity and all other entities
17+
that control, are controlled by, or are under common control with that entity.
18+
For the purposes of this definition, “control” means **(i)** the power, direct or
19+
indirect, to cause the direction or management of such entity, whether by
20+
contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
21+
outstanding shares, or **(iii)** beneficial ownership of such entity.
22+
23+
“You” (or “Your”) shall mean an individual or Legal Entity exercising
24+
permissions granted by this License.
25+
26+
“Source” form shall mean the preferred form for making modifications, including
27+
but not limited to software source code, documentation source, and configuration
28+
files.
29+
30+
“Object” form shall mean any form resulting from mechanical transformation or
31+
translation of a Source form, including but not limited to compiled object code,
32+
generated documentation, and conversions to other media types.
33+
34+
“Work” shall mean the work of authorship, whether in Source or Object form, made
35+
available under the License, as indicated by a copyright notice that is included
36+
in or attached to the work (an example is provided in the Appendix below).
37+
38+
“Derivative Works” shall mean any work, whether in Source or Object form, that
39+
is based on (or derived from) the Work and for which the editorial revisions,
40+
annotations, elaborations, or other modifications represent, as a whole, an
41+
original work of authorship. For the purposes of this License, Derivative Works
42+
shall not include works that remain separable from, or merely link (or bind by
43+
name) to the interfaces of, the Work and Derivative Works thereof.
44+
45+
“Contribution” shall mean any work of authorship, including the original version
46+
of the Work and any modifications or additions to that Work or Derivative Works
47+
thereof, that is intentionally submitted to Licensor for inclusion in the Work
48+
by the copyright owner or by an individual or Legal Entity authorized to submit
49+
on behalf of the copyright owner. For the purposes of this definition,
50+
“submitted” means any form of electronic, verbal, or written communication sent
51+
to the Licensor or its representatives, including but not limited to
52+
communication on electronic mailing lists, source code control systems, and
53+
issue tracking systems that are managed by, or on behalf of, the Licensor for
54+
the purpose of discussing and improving the Work, but excluding communication
55+
that is conspicuously marked or otherwise designated in writing by the copyright
56+
owner as “Not a Contribution.”
57+
58+
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
59+
of whom a Contribution has been received by Licensor and subsequently
60+
incorporated within the Work.
61+
62+
### 2. Grant of Copyright License
63+
64+
Subject to the terms and conditions of this License, each Contributor hereby
65+
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
66+
irrevocable copyright license to reproduce, prepare Derivative Works of,
67+
publicly display, publicly perform, sublicense, and distribute the Work and such
68+
Derivative Works in Source or Object form.
69+
70+
### 3. Grant of Patent License
71+
72+
Subject to the terms and conditions of this License, each Contributor hereby
73+
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
74+
irrevocable (except as stated in this section) patent license to make, have
75+
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
76+
such license applies only to those patent claims licensable by such Contributor
77+
that are necessarily infringed by their Contribution(s) alone or by combination
78+
of their Contribution(s) with the Work to which such Contribution(s) was
79+
submitted. If You institute patent litigation against any entity (including a
80+
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
81+
Contribution incorporated within the Work constitutes direct or contributory
82+
patent infringement, then any patent licenses granted to You under this License
83+
for that Work shall terminate as of the date such litigation is filed.
84+
85+
### 4. Redistribution
86+
87+
You may reproduce and distribute copies of the Work or Derivative Works thereof
88+
in any medium, with or without modifications, and in Source or Object form,
89+
provided that You meet the following conditions:
90+
91+
* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
92+
this License; and
93+
* **(b)** You must cause any modified files to carry prominent notices stating that You
94+
changed the files; and
95+
* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
96+
all copyright, patent, trademark, and attribution notices from the Source form
97+
of the Work, excluding those notices that do not pertain to any part of the
98+
Derivative Works; and
99+
* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
100+
Derivative Works that You distribute must include a readable copy of the
101+
attribution notices contained within such NOTICE file, excluding those notices
102+
that do not pertain to any part of the Derivative Works, in at least one of the
103+
following places: within a NOTICE text file distributed as part of the
104+
Derivative Works; within the Source form or documentation, if provided along
105+
with the Derivative Works; or, within a display generated by the Derivative
106+
Works, if and wherever such third-party notices normally appear. The contents of
107+
the NOTICE file are for informational purposes only and do not modify the
108+
License. You may add Your own attribution notices within Derivative Works that
109+
You distribute, alongside or as an addendum to the NOTICE text from the Work,
110+
provided that such additional attribution notices cannot be construed as
111+
modifying the License.
112+
113+
You may add Your own copyright statement to Your modifications and may provide
114+
additional or different license terms and conditions for use, reproduction, or
115+
distribution of Your modifications, or for any such Derivative Works as a whole,
116+
provided Your use, reproduction, and distribution of the Work otherwise complies
117+
with the conditions stated in this License.
118+
119+
### 5. Submission of Contributions
120+
121+
Unless You explicitly state otherwise, any Contribution intentionally submitted
122+
for inclusion in the Work by You to the Licensor shall be under the terms and
123+
conditions of this License, without any additional terms or conditions.
124+
Notwithstanding the above, nothing herein shall supersede or modify the terms of
125+
any separate license agreement you may have executed with Licensor regarding
126+
such Contributions.
127+
128+
### 6. Trademarks
129+
130+
This License does not grant permission to use the trade names, trademarks,
131+
service marks, or product names of the Licensor, except as required for
132+
reasonable and customary use in describing the origin of the Work and
133+
reproducing the content of the NOTICE file.
134+
135+
### 7. Disclaimer of Warranty
136+
137+
Unless required by applicable law or agreed to in writing, Licensor provides the
138+
Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
139+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
140+
including, without limitation, any warranties or conditions of TITLE,
141+
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
142+
solely responsible for determining the appropriateness of using or
143+
redistributing the Work and assume any risks associated with Your exercise of
144+
permissions under this License.
145+
146+
### 8. Limitation of Liability
147+
148+
In no event and under no legal theory, whether in tort (including negligence),
149+
contract, or otherwise, unless required by applicable law (such as deliberate
150+
and grossly negligent acts) or agreed to in writing, shall any Contributor be
151+
liable to You for damages, including any direct, indirect, special, incidental,
152+
or consequential damages of any character arising as a result of this License or
153+
out of the use or inability to use the Work (including but not limited to
154+
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
155+
any and all other commercial damages or losses), even if such Contributor has
156+
been advised of the possibility of such damages.
157+
158+
### 9. Accepting Warranty or Additional Liability
159+
160+
While redistributing the Work or Derivative Works thereof, You may choose to
161+
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
162+
other liability obligations and/or rights consistent with this License. However,
163+
in accepting such obligations, You may act only on Your own behalf and on Your
164+
sole responsibility, not on behalf of any other Contributor, and only if You
165+
agree to indemnify, defend, and hold each Contributor harmless for any liability
166+
incurred by, or claims asserted against, such Contributor by reason of your
167+
accepting any such warranty or additional liability.
168+
169+
_END OF TERMS AND CONDITIONS_
170+
171+
## APPENDIX: How to apply the Apache License to your work
172+
173+
To apply the Apache License to your work, attach the following boilerplate
174+
notice, with the fields enclosed by brackets `[]` replaced with your own
175+
identifying information. (Don't include the brackets!) The text should be
176+
enclosed in the appropriate comment syntax for the file format. We also
177+
recommend that a file or class name and description of purpose be included on
178+
the same “printed page” as the copyright notice for easier identification within
179+
third-party archives.
180+
181+
Copyright [yyyy] [name of copyright owner]
182+
183+
Licensed under the Apache License, Version 2.0 (the "License");
184+
you may not use this file except in compliance with the License.
185+
You may obtain a copy of the License at
186+
187+
http://www.apache.org/licenses/LICENSE-2.0
188+
189+
Unless required by applicable law or agreed to in writing, software
190+
distributed under the License is distributed on an "AS IS" BASIS,
191+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
192+
See the License for the specific language governing permissions and
193+
limitations under the License.
194+

0 commit comments

Comments
 (0)