I'm bothered about the Gradle depreciation notice after each compile,
created by org.mini2Dx:parcl plugin
- which is currently not used (would only work with additional configuration)
Situation: if you change a proceudure name / add a procedure in java source
and at the same time use the new procedure in htroot servlet
-> build fails with ant:javac error during gradle configuration phase
-> also clean build won't help as 1. gradle action is configure
see also https://github.com/yacy/yacy_search_server/issues/454#issuecomment-1031106178
Reason: in build directory is still the old yacycore.jar without the new procedure so javac - class not found will occur in compileHtrootServlets task
Quickfix: delete build/libs/yacycore.jar or the whole build directory
applied optimization
defining inputs and outputs for lifecycle detection in gradle task
and have the work done in a doLast section
- added multiproject in libbuild to compile and install all needed jars (reproduceing old maven build)
- adjusted GitComInf (use a project version, build script with less hardcoded strings)
- adjusted J7Zip-modified
- include common version number for output jar
- add task installJarToRoot to copy output jar to yacycore /lib
- adjust main build with updated jar names
as files are the same - updated also old build.xml
And the Eclipse specific .classpath (with shall be deleted until complete move to gradle)
- to complete without exception if not run in a git clone (to make the root build complete without build error)
- update gradle-wrapper to same version as root project (v7.3.3)
- 1. not needed as in dev environment IDE's and from commandline gradlew run should/is be used to run YaCy (instead of startYACY) and Gradle makes sure yacycore.jar is on classpath
- 2. creates problem on compile if in source AND htroot some code has changed
as old yacycore.jar remains in lib (not removed by clean)
.settings is created locally by Eclipse upon import as gradle project to store Eclipse specific defaults.
No need to include in distribution.
Also
- .project and
- .classpath
are Eclipse specific and created by gradle and should be deleted (as not needed and IDE specific)
- left them for now as files might be needed for building project with Ant (build.xml) which is likely still used by some.
.settings is created locally by Eclipse upon import as gradle project to store Eclipse specific defaults.
No need to include in distribution.
Also
- .project and
- .classpath
are Eclipse specific and created by gradle and should be deleted (as not needed and IDE specific)
- left them for now as files might be needed for building project with Ant (build.xml) which is likely still used by some.
- removed metager2.de -> is down
for me also others didn't work today (but left unchanged)
but added a html onerror event to inform if connection was refused.
The properties contain info from the local git (the last commitDate and the number of commints since last distribution-label +9000)
currently Gradle build script must execute external jar (libbuild/GitComInf-All.jar) which creates a property file. other build targets relay on the properties - so here is a currently a timing problem.
1. nice would be we could get rid of the whole gitbuildnumber thing on work with current date etc.
Changed it now to create the property file at the end - after a build
so during init no external jar execution is required but just reading the prop file.
At least a bit more stable.
in addition I include it in the repository so that a fresh pime build has it available (even some measure included to use some fake if file is missing)