Comments (8)
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.
@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.
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.
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.
@jeanbisutti how are we supposed to build (IIUC install) these dependencies, so the main build finds them?
from quickperf.
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.
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.
I merged #130. Many thanks @hboutemy
from quickperf.
Related Issues (20)
- Unable to disable QuickPerf on a test method HOT 5
- Wrong report about lack of JDBC batching for update query? HOT 8
- Support org.junit.jupiter.params.ParameterizedTest HOT 2
- Reorganize the Maven modules
- @AnalyzeSql HOT 2
- Make @ProfileJvm displays the method allocating the most HOT 3
- Detect database connection leaks HOT 1
- Add a lenient mode to @ExpectJdbcBatching HOT 1
- Ability to profile a database connection HOT 1
- Move documentation from wiki to website HOT 1
- Twitter image not visible on the QuickPerf website with a smartphone HOT 1
- Non-uniform color on the QuickPerf website HOT 1
- GC declaration issue HOT 5
- Potential NPE HOT 5
- .NET SqlServer / MOngDb support HOT 1
- java.io.IOException is raised when tests use a large class path HOT 8
- Issue with hierarchy of unit-tests classes
- Provide compatibility with Spring Boot 3 HOT 11
- H2 inner insert is not counted when a select is around HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quickperf.