Conversation
|
@SethTisue I think if you add the publishing stuff to the script that we figured out on Friday, it should actually work. Can you try that? Remaining issues: Enable optimization & do not publish docs |
|
commit added, let's see what happens |
|
looks like |
|
getting closer: |
|
yay a bunch of JARs actually got published to the scala-ci artifactory 🎉 but then it bombed with EDIT: this is even though the root project has |
|
hmm so artifacts published during https://scala-ci.typesafe.com/job/scala-2.11.x-validate-publish-core/2244/console showed up at e.g. https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots/org/scala-lang/scala-library/2.11.8-f0d538a-SNAPSHOT/ but then https://scala-ci.typesafe.com/job/scala-2.11.x-validate-test/1609/console didn't find all (any?) of the artifacts it wanted |
|
perhaps the problem is the mix of |
|
ah, this appears to be sbt/sbt#2088 |
|
can we just drop the -SNAPSHOT? |
|
Dropping -SNAPSHOT would mean that we'd have to change the existing infrastructure that relies on these version numbers. It's the first time I've seen these "-1" and "-2" suffixes. I have no idea what they are and where they come from. I'll have to check the sbt sources. |
build.sbt
Outdated
There was a problem hiding this comment.
@SethTisue What is the reason for using this over publishTo? It is only referenced in one place (for setting publishTo)
|
/rebuild |
|
As far as I can tell this looks good. The integrate-ide job (and consequently validate-main) has been failing for several weeks. @SethTisue WDYT? Shall I clean up the code and squash? (Still looking into the optimization and docs stuff) |
|
Docs disabled, optimization enabled. The doc artifacts are gone and validate-test passes, so this should be ready for squashing and merging. |
|
🍰! |
# Improve version handling in the sbt build: The new settings `baseVersion` and `baseVersionSuffix` make it easier to set version numbers for different kinds of builds in a consistent way without e.g. having to first get a git SHA outside of sbt. The new task `generateBuildCharacterPropertiesFile` writes the file `buildcharacter.properties` to the root dir. The format is compatible with the same file produced by the ANT build but it only contains a subset of the properties, in particular the Maven version, which is needed in publishing scripts and passed around between different Jenkins jobs as `jenkins.properties`. SHAs in version numbers are consistently shortened to 7 digits (as used by git and github). Previously we used 7 digits in Maven snapshot version numbers but 10 digits in canonical and OSGi version numbers. # Add Jenkins script support to the sbt build: The new command `setupPublishCore` takes the PR validation snapshot repository as an argument and changes the required settings for the `publish-core` build (use SHA-SNAPSHOT versioning, compile with optimization enabled, do not publish scaladoc sets) For example, the following command can be used to generate `buildcharacter.properties` with the version numbers needed for PR validation builds: sbt setupPublishCore dummy generateBuildCharacterPropertiesFile The sbt build will now automatically detect and use a “~/.credentials” file with the credentials for publishing to a remote repository. # Call sbt from `publish-core`: The correct`$SBT_CMD` is set directly in `bootstrap` and used by `publish-core` to first generate `buildcharacter.properties` and then build and publish. Parsing the git revision, computing a version number and getting binary dependencies are no longer required in the script. This is all done in the sbt build.
17c450e to
b1b5475
Compare
|
Cleaned up and squashed. |
|
/nothingtoseehere (integrate-ide failure is unrelated to the PR) |
|
What was done to avoid sbt/sbt#2088? |
|
@dwijnand Setting a consistent build.timestamp: https://github.com/szeiger/scala/blob/wip/sbt-pr-validation/project/ScriptCommands.scala#L14 |
|
@szeiger may I suggest some light testing with sbt 0.13.10-RC1? it'd be a bit awkward if we merged this and then were immediately stuck on 0.13.9 because of some regression |
|
@SethTisue No luck with 0.13.10-RC1: https://gist.github.com/szeiger/d494e70da91eb1ec9d06 |
|
You want to try 0.13.10-M1 (but @eed3si9n might want to cut a new release). Or you might want to wait for a successful community build for 0.13.10, see scala/community-build#210. |
|
I was able to build it successfully with sbt 0.13.10-M1 but not with 0.13.10-RC1. /cc @eed3si9n |
|
That's good news. Thank you @szeiger. |
|
time to merge 2.11.x into 2.12.x? |
|
Cool! |
we're not that close yet. this PR makes validate-publish-core sbt-based, but doesn't update validate-test (not to mention integrate-bootstrap and integrate-windows). we can discuss overall status at scala/scala-dev#45 |
this is the next step after scala#4884
this is the next step after scala#4884
rather use sbt and direct invocation of partest this is the next Ant-elimination step after scala#4884
Testing the sbt-based PR validation...