Commit Graph

20 Commits

Author SHA1 Message Date
Tristan Partin 4c13aa30a1 dependency: Add JDK system dependency
The JDK system dependency is important for detecting JDK include paths
that may be useful when developing a JNI interface.
2021-04-12 10:43:11 -07:00
Jussi Pakkanen 4c9d57200a Decrease version requirement to work on Xenial. 2020-07-12 00:07:26 +03:00
Dylan Baker 6a5fdbf995 docs: Add Environment variables for compiler/linker selection
We really should be documenting these in an easy to find and reference
place.
2020-03-17 10:40:39 -07:00
Daniel Mensinger 8e60b8c146
test: merge installed_files.txt into test.json 2020-02-25 21:47:42 +01:00
Jussi Pakkanen 95de289d0d Bump Java version in test program. 2020-01-29 23:32:09 +02:00
Dylan Baker 62e1735828 tests/java: force latency in generation to exercise race
Because we are racing here. In reality *all* of the java in that target
may rely on the generated file, so we need to block all of them, like we
would for headers in C/C++.
2018-11-07 14:26:14 -08:00
Aurélien Zanelli 5af84440bc ninjabackend: add generated source files to jar compile target source list
Otherwise, passing result of custom_target() to jar() target is ignored
and won't be compiled resulting in build fail.
2018-11-02 22:27:25 +02:00
Niclas Moeslund Overby bc8239ded0 java: add jar linking test 2018-07-03 21:33:54 +02:00
Niclas Moeslund Overby ef16fb2e97 tests: Remove redundant test and include_directories('.') 2018-05-16 14:53:30 +02:00
Robert Bragg ec7b834b6e ninja: add build dir to javac -sourcepath
To allow the javac -implicit:class behaviour to know where to find
generated .java files then the build directory for the target is also
added to the -sourcefile path.
2018-05-16 14:53:30 +02:00
Robert Bragg 61dd46811b ninja: avoid needing include_directory('.') with jar()
Although only one file is passed to javac at a time, if your code has
any inter-file dependencies javac still needs to know how to find other
source files for its -implicit:class feature to work whereby it will
automatically also compile files that the given file depends on.

-implicit:class is the default, practical, behaviour of javac since
otherwise it would be necessary to declare the class dependencies
for parallel java builds to be feasible.

Passing "include_directory: include_directory('.')" to jar() causes
-souredir <path/to/top/of/java/src> to be passed to javac which then
enables your source code to have inter-file class dependencies -
assuming none of your source code is generated.

This ensures that '.' is included by default.
2018-05-16 14:53:30 +02:00
Robert Bragg 65b730bd59 ninja: pass separated paths to javac -sourcepath
The -sourcepath option can't be passed multiple times to javac, since it
simply overrides prior arguments. Instead -sourcepath takes a colon (or
semi-colon on windows) separated list of paths.
2018-05-16 14:53:30 +02:00
Jussi Pakkanen 14e0529a03 Do not strip jar targets. Closes #1343. 2017-02-06 19:09:22 +01:00
Jussi Pakkanen 5787a4b4fb Make Java compilation work with inner classes. Closes #1157. 2016-12-12 21:01:10 +02:00
Jussi Pakkanen c9a46fcc93 Can set compiler arguments in Java. 2016-11-20 16:57:58 -05:00
Jussi Pakkanen e374b53788 Build Java projects with multiple files and other cleanups. 2016-01-10 22:31:56 +02:00
Jussi Pakkanen c7865cd98f Now with working subdirs for Java. 2014-03-11 23:04:14 +02:00
Jussi Pakkanen efc79fb85e Can run built jar files. 2014-03-11 22:30:05 +02:00
Jussi Pakkanen ed8fd95505 A few tweaks. 2014-03-11 00:48:25 +02:00
Jussi Pakkanen e321345f41 Started work on Java support because why not. 2014-03-10 22:35:00 +02:00