GithubHelp home page GithubHelp logo

Comments (8)

hboutemy avatar hboutemy commented on June 2, 2024 1

ok, I found the difference in profiles in https://github.com/quick-perf/quickperf/blob/master/testng/pom.xml , now I understand how you did

if we build with default profile, the build will work but we'll have issues when comparing with Central Repository because these test libraries are not published.
if we build with release profile, we'll get expected artifacts and source jars, but the build will fail because these required test jars are not available
installing during a first default build is not an option: installing is prohibited for Reproducible Builds (this would change local repository content, that is expected to get content from Central Repository)

classical way to do such non-published artifacts is not to play with modules list in profile, but configure maven.deploy.skip property: IMHO, such a setup will be better in the future
for now, we'll have to cheat a little bit at Reproducible Central rebuild...

from quickperf.

jeanbisutti avatar jeanbisutti commented on June 2, 2024 1

@hboutemy @nicokosi Thank you for your investigations and explanations.

In the next days, I plan to release QuickPerf 1.0.

To have a reproducible build, I propose to change the QuickPerf build, and perhaps the Maven modules used for testing, in the frame of QuickPerf 1.1.

@nicokosi, you are very welcome if you want to work on this. The precious advice from @hboutemy is also very welcome.

from quickperf.

jeanbisutti avatar jeanbisutti commented on June 2, 2024

Thanks a lot @nicokosi and @hboutemy for trying to check if QuickPerf 1.0.0-RC7 is reproducible. Indeed, quick-perf-junit5-test-util:jar:tests:1.0-SNAPSHOT is an internal dependency used by testing modules, for example junit5-jvm-test.
quick-perf-testng-test-util, quick-perf-sql-hibernate-test-util and junit4-spring-base-tests are also internal dependencies used by testing modules. All these dependencies are not expected to be published.

QuickPerf perhaps makes an improper use of Maven...

In quick-perf-junit5 POM, quick-perf-junit5-test-util is used in the following way:

        <dependency>
            <groupId>org.quickperf</groupId>
            <artifactId>quick-perf-junit5-test-util</artifactId>
            <version>1.0-SNAPSHOT</version>
            <classifier>tests</classifier>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>

quick-perf-junit5-test-util is previously built (but will not be published).

from quickperf.

nicokosi avatar nicokosi commented on June 2, 2024

Thanks @jeanbisutti for your quick feedback. 🤗

May the Maven revision placeholder can be used, as explained in "Maven CI Friendly Versions"?

PS: you may want to remove the "bug" label from this issue (since it does not affect QuickPerf users)... 😇

from quickperf.

hboutemy avatar hboutemy commented on June 2, 2024

@jeanbisutti how are we supposed to build (IIUC install) these dependencies, so the main build finds them?

from quickperf.

hboutemy avatar hboutemy commented on June 2, 2024

PR #130 opened to apply the maven.deploy.skip property to modules that require to be built because they are used during tests, but avoid to ship test artifacts

from quickperf.

jeanbisutti avatar jeanbisutti commented on June 2, 2024

PR #130 opened to apply the maven.deploy.skip property to modules that require to be built because they are used during tests, but avoid to ship test artifacts

I did not succeed to deploy with these modifications, see.

To deploy the release candidates, the following command lines were executed:

mvn clean install

mvn clean

mvn release:prepare -Prelease,spring-release 

mvn release:perform -Prelease,spring-release 

The published RC versions allow to use QuickPerf.

mvn release:prepare -Prelease,spring-release

=> the pom versions of the not published artifacts would not be updated...

installing during a first default build is not an option: installing is prohibited for Reproducible Builds (this would change local repository content, that is expected to get content from Central Repository)

=> QuickPerf build has to be improved

from quickperf.

jeanbisutti avatar jeanbisutti commented on June 2, 2024

I merged #130. Many thanks @hboutemy

from quickperf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.