- 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)
distTar is configured to use tar+gzip compression and creates now a archive named like yacy_v1.925_20220125_10199.tar.gz or distZip like yacy_v1.925_20220125_10199.zip
The legacy migration from Ant -> gradle task packageDist creates the same archive names.
but NOW in directory build/distributions/legacyDistFiles
to be able to use both in parallel (until knowing which one works better)
commit dfc7a23e60 uncomments the fake additional Gradle sourceSet (to make htroot in IDE visible), resulting in build error in IntelliJ IDEA if one uses just the IDE build button (and the old Ant build.xml is not available ... what is to expect soon).
This button runs as to expect the default Gradle task
> Task :htrootClasses (not our task compileHtrootServlets)
result :
htroot\processing\domaingraph\applet\domaingraph.java:1: error: package processing.core does not exist
import processing.core.*; import traer.physics.*; import traer.animation.*; import processing.net.*; import java.applet.*; import java.awt.*; import java.awt.image.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.text.*; import java.util.*; import java.util.zip.*; public class domaingraph extends PApplet {// Domain visualization graph for YaCy
test case
- install IntelliJ IDEA
- New -> Project from Version Control ..... and clone from github
- IntelliJ Infobox "Gradle build script found" -> "Load Gradle Project"
- in UI execute task build
result: build error in compileHtrootServlets - (which would require manual interaction to get rid of)
reason IntelliJ apparently creates build directory before run build.gradle or configured as gradle project
solution: use other check condition for compileHtrootServlets to run
reason of failure was task compileHtrootServlets executing during gradle init
and javac resulting in error as not dependencies available in build dir
- happened only on very first build with with a fresh cloned repository
*.epub files are zip files containing xhtml files with content and other artifact files,
which the zipParser can already feed to index
- extension "epub"
- mime "epub+zip"
- updated some jar's (as Gradle build relies only on one jar in lib dir)
- guava-31.0.1-jre.jar
- jsoup-1.14.3.jar
- pdfbox-2.0.25.jar
- removed the not overwrite loop in copyDependenciesForDistribution as target dir is buildDir (not lib)