Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to sbt 1.0 #32

Merged
merged 3 commits into from
Apr 1, 2019
Merged

Conversation

ignasi35
Copy link
Member

@ignasi35 ignasi35 commented Mar 27, 2019

Fixes #19
Upgrades the build to sbt 1.0

Unverified

This user has not yet uploaded their public signing key.
@ignasi35
Copy link
Member Author

Did a first pass. The bulk of the changes pending is on:

/**
* Custom update classifiers task that only resolves classifiers for Play modules.
* Also redirects warnings to debug for any artifacts that can't be found.
*/
def updateClassifiersTask = Def.task {
val playModules = update.value.configuration(Omnidoc.name).toSeq.flatMap(_.allModules.filter(playModuleFilter))
val classifiersModule = GetClassifiersModule(projectID.value, playModules, Seq(Omnidoc), transitiveClassifiers.value)
val classifiersConfig = GetClassifiersConfiguration(classifiersModule, Map.empty, updateConfiguration.value, ivyScala.value)
IvyActions.updateClassifiers(ivySbt.value, classifiersConfig, quietLogger(streams.value.log))
}

Causing the errors:

[error] /Users/ignasi/git/projects/lightbend/playframework/omnidoc/project/OmnidocBuild.scala:200:64: type mismatch;
[error]  found   : String
[error]  required: sbt.librarymanagement.ConfigRef
[error]     val playModules       = update.value.configuration(Omnidoc.name).toSeq.flatMap(_.allModules.filter(playModuleFilter))
[error]                                                                ^
[error] /Users/ignasi/git/projects/lightbend/playframework/omnidoc/project/OmnidocBuild.scala:201:29: not found: value GetClassifiersModule
[error]     val classifiersModule = GetClassifiersModule(projectID.value, playModules, Seq(Omnidoc), transitiveClassifiers.value)
[error]                             ^
[error] /Users/ignasi/git/projects/lightbend/playframework/omnidoc/project/OmnidocBuild.scala:202:29: not found: value GetClassifiersConfiguration
[error]     val classifiersConfig = GetClassifiersConfiguration(classifiersModule, Map.empty, updateConfiguration.value, ivyScala.value)
[error]                             ^
[error] /Users/ignasi/git/projects/lightbend/playframework/omnidoc/project/OmnidocBuild.scala:202:114: not found: value ivyScala
[error]     val classifiersConfig = GetClassifiersConfiguration(classifiersModule, Map.empty, updateConfiguration.value, ivyScala.value)
[error]                                                                                                                  ^
[error] /Users/ignasi/git/projects/lightbend/playframework/omnidoc/project/OmnidocBuild.scala:203:5: not found: value IvyActions
[error]     IvyActions.updateClassifiers(ivySbt.value, classifiersConfig, quietLogger(streams.value.log))
[error]     ^

The other pending change is moving all the code from project/Build.scala to build.sbt.

@ignasi35
Copy link
Member Author

This is shaping up well.

Currently, I only get small differences on the generated HTML of the javadocs:

Files javadoc/deprecated-list.html and golden/javadoc/deprecated-list.html differ
Files javadoc/overview-tree.html and golden/javadoc/overview-tree.html differ
Files play/data/format/package-tree.html and golden/javadoc/play/data/format/package-tree.html differ
Files javadoc/play/data/validation/package-tree.html and golden/javadoc/play/data/validation/package-tree.html differ
Files javadoc/play/filters/csrf/package-tree.html and golden/javadoc/play/filters/csrf/package-tree.html differ
Files javadoc/play/mvc/Action.html and golden/javadoc/play/mvc/Action.html differ
Files javadoc/play/mvc/package-tree.html and golden/javadoc/play/mvc/package-tree.html differ

The main cause of code changes was modifications on the visibility and behavior of Ivy dependency resolution. Omnidoc downloads src, docs and playdoc versions of several artifacts. The issue, I think, is that while src and docs are first class, well-known identifiers, playdoc is not and internal changes between 0.13 and 1.0 (or underlying ivy client libraries) broke how the playdoc artifacts were downloaded.

@ignasi35
Copy link
Member Author

I've done a review of the diff's and it's all differences in sorting the elements on the HTML lists. I think the output is correct.

@ignasi35 ignasi35 self-assigned this Mar 28, 2019
@ignasi35 ignasi35 requested a review from marcospereira March 28, 2019 20:50
Copy link
Member

@dwijnand dwijnand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Nicely done.

@ignasi35
Copy link
Member Author

Nicely done

Wouldn't have done it without your help. :-)

@dwijnand
Copy link
Member

I dunno, your follow-up diff is some impressive work.

@ignasi35 ignasi35 changed the title WIP Upgrade to sbt 1.0 Upgrade to sbt 1.0 Apr 1, 2019
@octonato octonato merged commit 28ed720 into playframework:2.7.x Apr 1, 2019
marcospereira pushed a commit that referenced this pull request Apr 30, 2019
Fixes #19
Upgrades the build to sbt 1.0
marcospereira added a commit that referenced this pull request Apr 30, 2019
* Upgrade to sbt 1.0 (#32)

Fixes #19
Upgrades the build to sbt 1.0

* Interplay 1.3.18
marcospereira added a commit that referenced this pull request May 3, 2019
* Publish documentation for Scala 2.12 instead of 2.11 (#23)

* Update interplay to version 1.3.15 (#22)

* Add travis configuration to test publishing the library (#27)

* Add travis configuration to test publishing the library

* Remove scala 2.13.0-M5

* Remove anorm from published docs (#30)

* Upgrade to sbt 1.0 (#32)

Fixes #19
Upgrades the build to sbt 1.0

* Update play-functional, play-json to 2.7.2 (#34)

Updates
* com.typesafe.play:play-functional
* com.typesafe.play:play-json

from 2.7.1 to 2.7.2.

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.

Have a nice day!

<details>
<summary>Ignore future updates</summary>

Add this to your `.scala-steward.conf` file to ignore future updates of this dependency:
```
updates.ignore = [{ groupId = "com.typesafe.play" }]
```
</details>

* Update interplay to 2.0.5 (#33)

* Play 2.7.1 (#36)

* Only use supported scala versions (#39)

* Update play-functional, play-json to 2.7.3 (#40)

* Play 2.7.2 (#41)

* fixed filters-helpers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants