polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: Build problems...
Date Sun, 26 Feb 2017 13:26:59 GMT
* POM has correct artifactId

* $HOME/.m2/repository/ is populated

* The test/ are still causing issue in IDEA, most likely related to
perfRuntimeOnly configuration that can't be resolved to something useful.


Cheers

On Sat, Feb 25, 2017 at 7:37 PM, Paul Merlin <paulmerlin@apache.org> wrote:

> Niclas,
>
> I just pushed a fix to the build system for Maven artifactId of
> published bits.
> `./gradlew install` should now do what you expect.
> Could you confirm it works for you?
>
> By the way, I upgraded Gradle to the latest stable release 3.4, enabled
> incremental Java compilation and applied the new java-library plugin
> that allows to clearly separate API and implementation and thus allows
> for more compile avoidance.
>
> See https://docs.gradle.org/current/userguide/java_library_plugin.html
> and
> https://docs.gradle.org/current/release-notes.html#
> faster-java-incremental-compilation
>
> I suppose that you'll like the new dependencies declarations that now
> distinguish compilation, API & implementation dependencies on each
> project ;)
>
> Cheers
>
> /Paul
>
>
> Niclas Hedhman a écrit :
> > I have been digging in this for a while now, and my findings are...
> >
> > Since the project.name <http://project.name> isn't changed "upfront",
> > but trying to keep the directory naming, there is a
> > "PublishNaming.publishedNameFor( project.path )" that tries to set the
> > jar names where needed.
> > Bizarre enough, the POM generation uses (or so I think) the artifact
> > in the "archives" configuration and generates correct <artifactId> for
> > the published POM. But that artifact (in archives) has dependencies
> > pointing to the projects with their respective names, and unable to
> > resolve the "short name" to "long name" therein.
> >
> > There is an experimental feature in Gradle (ArtifactResolutionQuery),
> > which is currently used to (I think) build the local Maven repository
> > in the SDK, and that feature might be possible to somehow use to get
> > the correct artifactId into the Maven POM <dependencies> section.
> >
> > But that is simply beyond me...
> >
> > Cheers
> > Niclas
> >
> > On Mon, Feb 13, 2017 at 1:11 AM, Paul Merlin <paul@nosphere.org
> > <mailto:paul@nosphere.org>> wrote:
> >
> >     Le 12 février 2017 10:25:33 GMT-05:00, Niclas Hedhman
> >     <niclas@hedhman.org <mailto:niclas@hedhman.org>> a écrit :
> >
> >         No 'publishToMavenLocal' task in 'develop' at the moment.
> Perhaps you
> >         didn't push it, or...?
> >
> >
> >
> >         niclas@devdesk:~/dev/polygene/java$ ./gradlew tasks
> >         :buildSrc:compileJava UP-TO-DATE
> >         :buildSrc:compileGroovy UP-TO-DATE
> >         :buildSrc:processResources UP-TO-DATE
> >         :buildSrc:classes UP-TO-DATE
> >         :buildSrc:jar UP-TO-DATE
> >         :buildSrc:assemble UP-TO-DATE
> >         :buildSrc:compileTestJava UP-TO-DATE
> >         :buildSrc:compileTestGroovy UP-TO-DATE
> >         :buildSrc:processTestResources UP-TO-DATE
> >         :buildSrc:testClasses UP-TO-DATE
> >         :buildSrc:test UP-TO-DATE
> >         :buildSrc:check UP-TO-DATE
> >         :buildSrc:build UP-TO-DATE
> >         The Jetty plugin has been deprecated and is scheduled to be
> removed in
> >         Gradle 4.0. Consider using the Gretty (
> https://github.com/akhikhl/gretty <https://github.com/akhikhl/gretty>)
> >         plugin instead.
> >                at
> >         build_2f82eno9qy3vq1tf48q5bfowx.run <http://
> 2f82eno9qy3vq1tf48q5bfowx.run>(/home/niclas/dev/polygene/
> java/samples/rental/build.gradle:23)
> >
> >         :tasks
> >
> >         ------------------------------------------------------------
> ------------
> >
> >         All tasks runnable from root project
> >         ------------------------------------------------------------
> ------------
> >         Default tasks: classes, test Build tasks ----------- assemble
> >         - Assembles the outputs of this project. build - Assembles and
> >         tests this project. buildDependents - Assembles and tests this
> >         project and all projects that depend on it. buildNeeded -
> >         Assembles and tests this project and all projects it depends
> >         on. classes - Assembles main classes. clean - Deletes the
> >         build directory. jar - Assembles a jar archive containing the
> >         main classes. perfClasses - Assembles perf classes.
> >         testClasses - Assembles test classes. versionClasses -
> >         Assembles version classes. vhostTestClasses - Assembles vhost
> >         test classes. war - Generates a war archive with all the
> >         compiled classes, the web-app content and the libraries. Build
> >         Setup tasks ----------------- init - Initializes a new Gradle
> >         build. [incubating] wrapper - Generates Gradle wrapper files.
> >         [incubating] Distribution tasks ------------------
> >         stageBinariesMavenRepository - Stages published binaries as a
> >         maven repository in the build directory.
> >         stageBinaryDistribution - Stages the binary distribution in
> >         the build directory. stageDependenciesMavenRepository - Stages
> >         dependencies of published binaries as a maven repository in
> >         the build directory. (BIG) stageSourceDistribution - Stages
> >         the source distribution in the build directory.
> >         tarBinaryDistribution - Assembles .tar.gz binary distribution.
> >         tarSourceDistribution - Assembles .tar.gz source distribution.
> >         zipBinaryDistribution - Assembles .zip binary distribution.
> >         zipDependenciesDistribution - Assemble .zip dependencies
> >         distribution (BIG) zipSourceDistribution - Assembles .zip
> >         source distribution. Distribution verification tasks
> >         ------------------------------------------------------------
> ------------
> >         buildSourceDistribution - Checks the source distribution by
> >         running `gradle build` inside. checkDistributions - Run all
> >         distribution checks. ratBinaryDistribution - Checks the binary
> >         distribution using Apache RAT. ratSourceDistribution - Checks
> >         the source distribution using Apache RAT. Docker tasks
> >         ------------ buildCassandraDockerImage - Build cassandra
> >         Docker image buildMemcachedDockerImage - Build memcached
> >         Docker image buildMysqlDockerImage - Build mysql Docker image
> >         buildPostgresDockerImage - Build postgres Docker image
> >         buildRedisDockerImage - Build redis Docker image
> >         buildRiakDockerImage - Build riak Docker image Documentation
> >         tasks ------------------- groovydoc - Generates Groovydoc API
> >         documentation for the main source code. javadoc - Generates
> >         Javadoc API documentation for the main source code. javadocs -
> >         Builds the whole SDK public Javadoc makeAsciidocBuildInfo -
> >         Generates asciidoc artifact snippet manuals - Generates all
> >         documentation website - Generates documentation website Help
> >         tasks ---------- buildEnvironment - Displays all buildscript
> >         dependencies declared in root project 'polygene-java'.
> >         components - Displays the components produced by root project
> >         'polygene-java'. [incubating] dependencies - Displays all
> >         dependencies declared in root project 'polygene-java'.
> >         dependencyInsight - Displays the insight into a specific
> >         dependency in root project 'polygene-java'.
> >         dependentComponents - Displays the dependent components of
> >         components in root project 'polygene-java'. [incubating]
> >         downloadDependencies - Download all dependencies help -
> >         Displays a help message. model - Displays the configuration
> >         model of root project 'polygene-java'. [incubating] projects -
> >         Displays the sub-projects of root project 'polygene-java'.
> >         properties - Displays the properties of root project
> >         'polygene-java'. tasks - Displays the tasks runnable from root
> >         project 'polygene-java' (some of the displayed tasks may
> >         belong to subprojects). Performance tasks -----------------
> >         performanceTest - Runs performance tests. Release tasks
> >         ------------- publishAsfDistributions - Publishes
> >         distributions to ASF SVN. publishAsfDocumentation - Publishes
> >         documentation to ASF HTTP. publishAsfMavenArtifacts -
> >         Publishes maven artifacts to ASF Nexus. releaseAsf - Rolls out
> >         an Apache Software Foundation release.
> >         releaseSpecApprovedProjects - Apply release specification to
> >         projects in the build reportReleaseSpec - Report module(s)
> >         that do or don't fit the release criteria. Release
> >         verification tasks -------------------------- checkReleaseSpec
> >         - Ensure that no releasable module depend on module(s) that
> >         don't fit the release criteria. Samples tasks -------------
> >         runCircuitBreakerSample - Runs circuitbreaker sample.
> >         runEnvisageSample - Runs envisage sample.
> >         runEnvisageSchoolSample - Runs envisage School sample.
> >         runForumSample - Runs forum sample. runJmxSample - Runs jmx
> >         sample. runRestletSample - Runs restlet sample.
> >         runSqlSupportSample - Runs sql-support sample. runSwingSample
> >         - Runs swing sample. Upload tasks ------------ uploadArchives
> >         - Uploads all artifacts belonging to configuration
> >         ':core:api:archives' uploadStageArchives - Uploads all
> >         artifacts belonging to configuration ':core:api:stageArchives'
> >         Verification tasks ------------------ check - Runs all checks.
> >         coverage - Generates global coverage report jacocoTestReport -
> >         Generates test coverage report. test - Runs the unit tests.
> >         Web application tasks --------------------- jettyRun - Uses
> >         your files as and where they are and deploys them to Jetty.
> >         jettyRunWar - Assembles the webapp into a war and deploys it
> >         to Jetty. jettyStop - Stops Jetty. Rules ----- Pattern:
> >         clean<TaskName>: Cleans the output files of a task. To see all
> >         tasks and more detail, run gradlew tasks --all To see more
> >         detail about a task, run gradlew help --task <task> BUILD
> >         SUCCESSFUL On Sun, Feb 12, 2017 at 8:29 PM, Paul Merlin
> >         <paul@nosphere.org <mailto:paul@nosphere.org>> wrote:
> >
> >             Le 12 février 2017 04:31:44 GMT-05:00, Niclas Hedhman
> >             <niclas@hedhman.org <mailto:niclas@hedhman.org>> a écrit
:
> >
> >                 I build a distirbution and found a Maven repository
> >                 inside distributions/build/stage And far more
> >                 disturbing than not getting .m2/ populated is that the
> >                 produced POMs are invalid. The naming of jar files is
> >                 messed up now, missing the group in the artifactId.
> >                 <dependencies> <dependency>
> >                 <groupId>org.apache.polygene.core</groupId>
> >                 <artifactId>bootstrap</artifactId>
> >                 <version>0</version> <scope>compile</scope>
> >                 </dependency> <dependency>
> >                 <groupId>org.apache.polygene.extensions</groupId>
> >                 <artifactId>valueserialization-jackson</artifactId>
> >                 <version>0</version> <scope>compile</scope>
> >                 </dependency> <dependency>
> >                 <groupId>org.apache.polygene.extensions</groupId>
> >                 <artifactId>indexing-rdf</artifactId>
> >                 <version>0</version> <scope>compile</scope>
> >                 </dependency> On Sun, Feb 12, 2017 at 5:24 PM, Niclas
> >                 Hedhman <niclas@hedhman.org
> >                 <mailto:niclas@hedhman.org>> wrote: Paul,
> >
> >                     'install' doesn't work anymore... Or at least, the
> >                     ~/.m2/repository is not populated. And I can't
> >                     figure out how the all-plugin way of build system
> >                     is actually working. What do I need to do for
> >                     "local build" and be able to use that in another
> >                     local project? Cheers -- Niclas Hedhman, Software
> >                     Developer http://polygene.apache.org
> >                     <http://zest.apache.org> - New Energy for Java
> >
> >             Hi Niclas, I'm currently very far away from a keyboard and
> >             will be until the 20th. The artifactIds should be fixed,
> >             good catch. As for publishing to ~/.m2, the
> >             publishToMavenLocal task should do. HTH
> >
> >
> >     Arg...
> >     Looks like I overlooked that use case when working on the build.
> >     I'll fix that when I'm back.
> >
> >     In the meantime you can use stageBinariesMavenRepository and add
> >     the directory as a repository to your consuming project.
> >
> >     If the consuming project is built using gradle you could have a
> >     look at composite builds to skip that 'local artifacts' mess.
> >     There would probably be some mapping to do for substitution to
> >     work. I plan to provide a sample when I'm back, just mentioning in
> >     case you want to have a look.
> >
> >     HTH
> >
> >     Cheers
> >     --
> >     Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
> >     excuser ma brièveté.
> >
> >
> >
> >
> > --
> > Niclas Hedhman, Software Developer
> > http://polygene.apache.org <http://zest.apache.org> - New Energy for
> Java
>



-- 
Niclas Hedhman, Software Developer
http://polygene.apache.org <http://zest.apache.org> - New Energy for Java

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message