Ruben Berenguel
cf365ea27a
Resets the connection (and sets partial download to false) if the range is not satisfiable by the server ( #795 )
2018-03-12 11:19:57 +01:00
Yi Cheng
a7605ff900
Retry on ChecksumError ( #797 )
...
Fix for #780
2018-03-10 12:57:47 -08:00
Nick Howard
d0b46864c8
json-report: one file per dependency instead of multiple; use m2 coords ( #782 )
...
When classifiers are used as part of dependency specifications, it's important to be able to select just the classified artifact. Unfortunately, in the current json, dependencies don't specify classifiers, so it isn't possible to just get one of the artifacts for a dependency when a classifier is required.
This patch introduces maven style artifact prefixes in order to include classifier and packaging information in the coordinates. By doing that, we can use them as keys in dependency lists more easily and it allows consumers of the json to treat those dependency keys as mostly opaque ids rather than having to parse them.
Addresses #743
2018-03-09 14:47:27 -08:00
Alexandre Archambault
f4fe44fe2c
Clean-up helper method to fully read InputStream
2018-03-03 15:09:02 +01:00
Alexandre Archambault
838a340b89
Remove deprecated stuff
2018-03-03 14:57:14 +01:00
Alexandre Archambault
a83df3e1c8
Add coursier.util.ValidationNel
2018-03-03 14:55:46 +01:00
Yi Cheng
76768c3479
Remove redundant test ( #788 )
...
Forgot to do so in #769 `CliIntegrationTest.scala` was split into `CliFetchIntegrationTest.scala` and `CliBootstrapIntegrationTest.scala`
2018-02-24 01:05:51 -08:00
Alexandre Archambault
1816b25b84
Stop using scalaz.{EitherT, \/}
...
Use scala.Either instead of \/
Use the custom coursier.util.EitherT instead of scalaz.EitherT
2018-02-22 18:20:34 +01:00
Dorothy Ordogh
3e4a65d5ee
Add ability to fetch artifact with a given url ( #774 )
...
* changes
* changes to Attributes
* make changes
* add test and fix bug
* add more tests
* fix failing tests
* fix parentheses
* remove comments I added and add test that's guarenteed not to exist in a repo
* remove Attributes third parameter and refactor Parse's moduleVersionConfig to return a tuple of Dependency and a Map of String to String representing extra parameters for the dependency
* update some return types and methods in the Helper class
* return FallbackDependenciesRepository back to original state
* refactor helper
* remove url from attributes
* fix tests and add cache to extra in build.sbt
* remove FallbackDepsRepo from sbt-coursier
* add variable for url and call encode in tests
* update tests and helper to have proper behavior
* remove setting deps to intransitive when url is present and add two tests
* add more tests, implement @wisechengyi's comments
* fix nits
* update ParseTests because some failed
* fix tests
* incorporate feedback from @alexarchambault and @wisechengyi
* update ParseTests to check for returned error vs thrown error
* remove one test that is covered in ParseTests
* fix nits
* add back deleted brackets
* return errors in Left without using return statement
* revert change because it's broken
* fix some positional things
* add return statement or else error won't be processed
* fix nits. thanks @wisechengyi
* Remove return statements
2018-02-22 18:06:06 +01:00
Yi Cheng
c8d191401c
Separate out bootstrap integration test ( #769 )
...
Separate bootstrap test because Pants does not pre-build the bootstrap.jar
2018-02-07 16:04:58 -08:00
wisechengyi
18434fdcd3
Update pants build
2018-02-07 10:23:07 +01:00
Alexandre Archambault
506e14a90b
Switch cli to scala 2.12 and latest case-app
2018-02-07 10:23:07 +01:00
Yi Cheng
f6ceba5b44
Add json report version and documentation ( #749 )
...
* Add version number to the json report
* Add documentation and borrow Pants' export versioning guideline: afa6a286f1/src/python/pants/backend/project_info/tasks/export.py (L49-L59)
2018-02-01 10:44:05 -08:00
Alexandre Archambault
8c72303ae9
Ensure POM files aren't added to classpath by bootstraps
...
They were when using the "isolated" classloader thing (that
https://github.com/jupyter-scala/ammonium and
https://github.com/jupyter-scala/jupyter-scala should probably be the only user of…)
2018-02-01 16:18:47 +01:00
Alexandre Archambault
14bc756b5b
Allow to deactivate Maven profiles from the CLI
...
And add extra tests for profile deactivation
2018-01-30 17:26:07 +01:00
Yi Cheng
849d128b90
Specify classifier on module level on CLI ( #735 )
2018-01-29 21:02:49 +01:00
Alexandre Archambault
5992c1d2d7
Remove deprecated "source repository" stuff
2018-01-21 22:28:05 +01:00
Bohdan Yavorskyi
2d5f7c3eb4
mixing urls and jars in bootstrap ( #742 )
2018-01-21 21:55:46 +01:00
Yi Cheng
5da2210d7f
Performance improvements for cli json report and minor refactoring ( #724 )
...
Major change:
* Identified hotspot in `JsonElem.hashCode` because it hashes children recursively. Hence simplified hashing scheme, reducing CPU time on `JsonReport.apply()` from 64.7 sec to 2.5 sec
Other minor changes:
* Make `JsonRequirement` use immutable classes
* Simplify `JsonRequirement` composition
2018-01-01 11:55:43 -08:00
Yi Cheng
a4258f48ce
Add json report to fetch and local exclusion option ( #692 )
...
This patch introduces changes for cli with json output #659 . Format as follows:
```
{
"conflict_resolution": {
"org:name:version" (requested): "org:name:version" (reconciled)
},
"dependencies": [
{
"coord": "orgA:nameA:versionA",
"files": [
[
<classifier>,
<path>
]
],
"dependencies": [ // coodinates for its transitive dependencies
<orgX:nameX:versionX>,
<orgY:nameY:versionY>,
]
},
{
"coord": "orgB:nameB:versionB",
"files": [
[
<classifier>,
<path>
]
],
"dependencies": [ // coodinates for its transitive dependencies
<orgX:nameX:versionX>,
<orgZ:nameZ:versionZ>,
]
},
]
}
```
For example:
```
fetch -t org.apache.avro:trevni-avro:1.8.2 org.slf4j:slf4j-api:1.7.6 --json-output-file x.out
Result:
├─ org.apache.avro:trevni-avro:1.8.2
│ ├─ org.apache.avro:trevni-core:1.8.2
│ │ ├─ org.apache.commons:commons-compress:1.8.1
│ │ ├─ org.slf4j:slf4j-api:1.7.7
│ │ └─ org.xerial.snappy:snappy-java:1.1.1.3
│ └─ org.slf4j:slf4j-api:1.7.7
└─ org.slf4j:slf4j-api:1.7.6 -> 1.7.7
```
would produce the following json file:
```
$ jq < x.out
{
"conflict_resolution": {
"org.slf4j:slf4j-api:1.7.6": "org.slf4j:slf4j-api:1.7.7"
},
"dependencies": [
{
"coord": "org.apache.avro:trevni-core:1.8.2",
"files": [
[
"",
"/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/apache/avro/trevni-core/1.8.2/trevni-core-1.8.2.jar"
]
],
"dependencies": [
"org.slf4j:slf4j-api:1.7.7",
"org.xerial.snappy:snappy-java:1.1.1.3",
"org.apache.commons:commons-compress:1.8.1"
]
},
{
"coord": "org.apache.avro:trevni-avro:1.8.2",
"files": [
[
"",
"/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/apache/avro/trevni-avro/1.8.2/trevni-avro-1.8.2.jar"
]
],
"dependencies": [
"org.apache.avro:trevni-core:1.8.2",
"org.slf4j:slf4j-api:1.7.7",
"org.xerial.snappy:snappy-java:1.1.1.3",
"org.apache.commons:commons-compress:1.8.1"
]
},
{
"coord": "org.slf4j:slf4j-api:1.7.7",
"files": [
[
"",
"/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar"
]
],
"dependencies": []
},
{
"coord": "org.apache.commons:commons-compress:1.8.1",
"files": [
[
"",
"/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar"
]
],
"dependencies": []
},
{
"coord": "org.xerial.snappy:snappy-java:1.1.1.3",
"files": [
[
"",
"/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/xerial/snappy/snappy-java/1.1.1.3/snappy-java-1.1.1.3.jar"
]
],
"dependencies": []
}
]
}
```
2017-12-26 10:46:35 -08:00
Yi Cheng
1296459de3
Add Pants build tool ( #709 )
2017-12-11 17:50:04 +01:00
Alexandre Archambault
db3679dce4
Factor default max # of iterations
2017-07-19 02:07:15 +02:00
Alexandre Archambault
7d69815f64
Allow to generate native bootstraps
2017-07-08 14:32:16 +02:00
Alexandre Archambault
fd8272fdd4
Add stub to make proguard happy on 2.12 CI
2017-06-17 18:08:14 +02:00
Alexandre Archambault
310364ed93
Don't include optional artifacts by default
...
Except for classifiers artifacts, where they were already assumed to be
optional
2017-06-13 14:24:48 +02:00
Alexandre Archambault
4cdd95b37e
Really close http connections
2017-06-06 18:01:28 +02:00
Alexandre Archambault
f5ef7d8179
Add non-reg tests for Nexus proxies
...
Ensure everything work fine again with those (things went bad at
1.0.0-RC1, because of the use of directory listings, that may not be
exhaustive in proxies - or may be just empty, e.g. currently with nexus 3)
2017-05-31 21:19:27 +02:00
Alexandre Archambault
18be2e2dd2
Add support for binary checksum files
2017-05-30 16:59:46 +02:00
Alexandre Archambault
70906fcc8e
Add sbt-plugin: and typesafe: repo syntaxes
2017-05-18 02:50:20 +02:00
Alexandre Archambault
e76f6170f1
Move typelevel-related things to new extra module
2017-05-12 00:00:14 +02:00
Alexandre Archambault
bb4fcfceb6
Tweak console output
2017-05-11 17:48:43 +02:00
Alexandre Archambault
3b111fa1eb
Fix compilation warnings
2017-05-03 00:44:45 +02:00
Alexandre Archambault
d3b692e165
Don't print exclusions by default
2017-04-21 14:37:20 +02:00
Ólafur Páll Geirsson
00bbb1a4b6
Clarify value description for --repository.
...
- s/typesafe-ivy:releases/typesafe:ivy-releases/
- prepend variables with `$` to highlight dynamic vs. static parts
2017-04-10 09:26:38 +02:00
Ólafur Páll Geirsson
45b920c352
Support --repository bintray-ivy:org/repo/ in cli.
...
This commit adds support for a `bintray-ivy:` repository prefix to the `--repository`
flag in the cli. This option is equivalent to the `Resolver.bintrayIvyRepo` helper in sbt.
With this new helper, it's possible to write `-r bintray-ivy:scalameta/maven/` instead of
```
-r ivy:https://dl.bintray.com/scalameta/maven/[organisation]/[module]/ (scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
```
2017-04-05 18:00:59 +02:00
Alexandre Archambault
4e3c4aff1d
Fix spark-submit command in spark 1.x
...
Recent regression
2017-04-05 12:33:54 +02:00
Alexandre Archambault
a62fb9a85f
Get both jar and bundle artifacts from spark-submit command
...
For the JAR list passed to spark.yarn.jars. The bundle ones are missing since 1.0.0-M15-2 else.
2017-04-04 16:37:51 +02:00
Alexandre Archambault
375eeca48b
Merge pull request #385 from coursier/topic/extra
...
Stuff
2017-04-03 17:13:20 +02:00
Alexandre Archambault
e7f74dda0d
Tweak spark-submit command options
2017-04-03 15:19:09 +02:00
Alexandre Archambault
9194853749
More loose main class detection
...
Makes it find the main class of scalafmt
2017-04-03 10:09:33 +02:00
Alexandre Archambault
62d3ed307a
Remove cli=true from scaladex query
...
Makes it not find lihaoyi/Ammonite in particular
2017-04-03 10:09:33 +02:00
Guillaume Massé
c332d4f46e
scaladex cli api change & use scalaVersion from options
...
* Scaladex was updated to allow developers to specify cli artifact. It
will only return projects and artifacts with cli enable
2017-04-03 10:09:33 +02:00
Alexandre Archambault
e8af9e7aba
Parallelize scaladex lookups
2017-04-03 10:09:33 +02:00
Alexandre Archambault
f29e74126d
Cache scaladex lookups
2017-04-03 10:09:33 +02:00
Alexandre Archambault
1380d7a741
Quick & dirty scaladex lookup
2017-04-03 10:09:33 +02:00
Alexandre Archambault
c176adca3c
Enable sbt plugin hack in Maven repo paths by default
2017-04-03 00:19:51 +02:00
Kazuyoshi Kato
557cd8036d
Report all errors including POM-related ones
...
Resolution#errors don't have POM-related errors (e.g. #157 ).
The new `metadataErrors` method would replace the original `errors`
eventually.
2017-03-25 23:07:49 -07:00
Alexandre Archambault
4dd9f7954b
Tweak some type class derivations
...
Hopefully will address more-or-less random failures, on the CI in
particular
2017-02-27 16:43:30 +01:00
Alexandre Archambault
36ba4b6252
Remove unnecessary --default-artifact-type option, fix javadoc / sources
2017-02-27 15:54:57 +01:00
Alexandre Archambault
d277153777
Annotate all case classes with final
2017-02-04 16:36:52 +01:00