Commit Graph

34 Commits

Author SHA1 Message Date
reger24
6c5b282919 Some Gradle build script cleanup
- 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)
2022-02-01 14:04:38 +01:00
reger24
054e3b48fc Gradle script: exclude old lib dir from normal distribution (distZip/distTar)
to make sure no duplicate file error occurs if run after packageDist (lagacy archives)
2022-01-31 02:50:33 +01:00
reger24
677316edda disable jvm mem limit in gradle script
to prevent premature outofmemory exceptions
2022-01-30 22:18:41 +01:00
reger24
3208b2a54c Remove unnecessary jar destinationDir from Gradle build script
- 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)
2022-01-30 19:26:07 +01:00
reger24
97e1b510f7 Update twelvemonkeys.imageio jar to version 3.8.1 2022-01-29 12:45:58 +01:00
unknown
3adab5eaae Replace hardcode 'build/...' substitution variable in Gradle build file 2022-01-28 04:04:33 +01:00
unknown
ae178c453c simplify Gradle task copyDependenciesForDistribution
and prevent that distMacApp creates build/RELEASE/MAC directory during Gradle init withou that distMacApp was requested
2022-01-27 23:59:38 +01:00
unknown
4a55bb7515 Add distMacApp task to Gradle build script
I'm not a MAC user so I'd to do it blind !
but now it's migrated from Ant an can be fine tuned.
2022-01-27 20:30:09 +01:00
unknown
78c8ae7d05 Add Unix/Linux file permission to tar.gz distribution archives 2022-01-27 14:47:56 +01:00
unknown
5dbe071b4e Fix Test error in XZParserTest - class not found
due to missing but used dependency (org.tukaani.xz)
(declared as optional not automatically fetched by gradle)

harmonized used filterTokens
2022-01-27 01:01:24 +01:00
reger24
0e7251b445 Changed Gradle build regarding prepYaCyProperties to be more reliable
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)
2022-01-26 14:54:18 +01:00
reger24
4d8b3311c4 Update to Gradle 7.3.3 2022-01-26 07:13:42 +01:00
reger24
3996fb0920 Config Gradle standard distZip/distTar to use legacy archive file name
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)
2022-01-25 16:19:46 +01:00
reger24
68e5c41385 Fix for upgrade to Gradle 7.3.3
see comment https://github.com/yacy/yacy_search_server/issues/377#issuecomment-1021068633
2022-01-25 14:11:24 +01:00
reger24
475e1c7907 Fix build error for IntelliJ after fake sourceSet htroot has been add ( dfc7a23e60 )
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
2022-01-25 13:18:02 +01:00
Michael Christen
6c6cc28c13
Merge pull request #443 from WeNeedCoffee/gradle-idea-patch
Idea project files by Gradle not ANT
2022-01-25 11:50:49 +01:00
reger24
65034be1ee Fix IntelliJ IDEA prime build error
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
2022-01-25 09:31:42 +01:00
Daleth Darko
dfc7a23e60 Idea project files by Gradle not ANT
As per the comment by @reger24
2022-01-25 07:31:51 +01:00
reger24
c49e9039e8 Prevent build script failing on prime build with fresh git clone
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
2022-01-25 03:46:35 +01:00
reger24
a751369246 Further cleaned out transient dependencies + optimizations
- 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)
2022-01-24 10:37:11 +01:00
reger24
06cd77f7bc Clean up some transient dependencies
- not needed for Gradle build
one reason to love Maven and Gradle handles it too.
2022-01-23 07:58:33 +01:00
reger24
fa2fd37a48 Added NSIS plugin to Gradle build create Win install executable
found this nice NSIS plugin which doesn't require local NSIS installation
allowing to implement similar function as in old Ant build
using the existing build.nsi

- task distWinInstaller
- resulting *.exe  in build/distributions
2022-01-23 01:48:02 +01:00
reger24
6dcb58a4b5 Configured Gradle javadoc, added distribution archive for portalsearch
- in case it's really used separately

with that most Ant build targets are available native in Gradle build (imho all targets we  really need - see list of legacy Ant targets)

- "readBuildProperties" = see no use
- "init" = not needed (ant internal prop initialization)
- "javadoc" = gradle-task javadoc
- "compile-core" = gradle-task build
- "compile-htroot" = gradle-task compileHtrootServlets
- "compile" = gradle-task build
- "all" = gradle-task build
- "copyMain4Dist" = gradle-task packageDist
- "compileTest" = gradle-task compileTestJava (std)
- "test" = gradle-task test (std)
- "dist" = gradle-task packageDist
- "portalsearch" = gradle-task packagePortalsearch (is that file still used?)
- "clean" = gradle-task clean (std)
- "run" = gradle-task run (std) or shell
- "run-single" = not needed (old stuff)
- "debug" = won't gradleize ide or run
- "stop" = just a shell script
- "create-doc" = gradle-task javadoc
- "distWinInstaller" = won't impl. external tool needed
- "distMacApp" = won't impl. external tool needed
- "deleteData" = hm, won't impl. use nomale system
2022-01-22 10:56:11 +01:00
reger24
2e177661c9 Implement creation of legacy distribution archive in Gradle
- Gradle task to execute "packageDist"
	- this will create *.tar.gz and *.zip archive
	- with legacy file name convention
- archive is created in build/distributions

- for the libbuild J7Zip-modified.jar use fallback as file dependency in lib
  as Gradle/Groovy use internal just the classes from subprojects with result
  that in above no jar is included in lib but a bunch of *.class files
- added also the option to publish J7Zip-modified.jar to mavenLocal() repo.
2022-01-22 06:27:14 +01:00
reger24
4df29edd03 Implement the Ant javac task to compile htroot direct in Gradle
- import of the build.xml not longer needed and removed
2022-01-21 07:42:47 +01:00
reger24
eb69d535a3 Set all dependencies in Gradle build script
- with currently used version
- updated support/subproject J7Zip-modified (in libbuild) to be compilable via Gradle
	- added dependency reference as sub-project
- skip the before applied copy of jars to lib directory (no benefit)
2022-01-21 04:53:12 +01:00
reger24
a34d514b4f Fix naming mismatch of build.xml and jar in ./lib
version part differs (dot)
build.xml snippet
      <pathelement location="${lib}/bcmail-jdk15on-1.69.jar" />
      <pathelement location="${lib}/bcpkix-jdk15on-1.69.jar" />
      <pathelement location="${lib}/bcprov-jdk15on-1.69.jar" />
2022-01-20 10:41:53 +01:00
reger24
e39bb5fbab Modified GitRevNr Ant-Plugin to work in Gradle
- new support library GitComInf to generate a property file for use in Gradle
- adjusted build.gradle to make use of it to create the yacyBuildProperties.java
   - including additon of properties ext.filterTokens as store for Gradle
- added gradle-compile-htroot (w/o depends) to old build.xml as target until complete migration
  as it is imho important

imho: much to complicated to get a running number - should be supplied by repo or simplified
2022-01-20 09:59:34 +01:00
reger24
3e34f7c596 Import Ant build.xml into Gradle and use old compile of servlets in Gradle
to be able to use/reuse Ant targets where task has not been implemented in Gradle build.
- use the import to include the compile of htroot as first important task

  ! it is possible that first build fails an compile of GitRevTask.jar !
  ! solution/workaround -> use "ant all" once to compile GitRevTask.jar !

- adjusted build.xml a little
   - split compile-core into compile-core and compile-htroot to have a target for htroot comp. only
   - set build-path to reuse Gradles build directory
   - (fix javadoc failure)

- changed the filtered-copy of yacyBuildProperties.java to ! the build path :-(
  as current (copy,delete,exclude) is complicated and not migration worthy,
  used simple/straigt forward approach (using a yacyBuildProperties.java.template file as copy source)
2022-01-18 20:00:55 +01:00
reger24
426c47013c Prepare to use Gradle dependencies while mimic current config
with jars/dependencies in lib directory (w/o overwriting existing jars)
2022-01-18 16:02:19 +01:00
reger
6a8d351df3 Enable Gradle test and add manifest to yacycore.jar, set outputdir to lib
as part of migration from Ant to Gradle builds.
2022-01-18 11:55:21 +01:00
Michael Peter Christen
3c86b7b780 attempt to make a Mac Release using gradle
This is almost working with many workarounds:
- run rm lib/yacycore.jar
- run ./gradlew clean build bundleNative
- run ant clean all
- run again rm lib/yacycore.jar
- run ./fixMacBuild.sh

The build is then inside build/mac/YaCy.app

Right now this works so far but it does not have the correct release
number inside.

Target is to make this working for Windows releases and to embedd jre
entirely.
2021-10-25 18:37:39 +02:00
admin
c3b3087077 gradle cleanup 2021-07-14 14:07:49 +02:00
admin
a13986d659 replaced maven with gradle 2021-07-14 13:58:30 +02:00