Commit Graph

55 Commits

Author SHA1 Message Date
Federico Pellegrin e32a6d4103 javaw: fix buglet overwrites working variable while adding dependencies
variable x is used in the outer loop and gets corrupted by inner enumeration in case of non-jar dependency

to reproduce: use the demos/java and run waf build twice: the first time will work (since no class files around)
while the second will not since will by bad luck pick a class file in the inner loop
2020-01-04 09:35:07 +01:00
fedepell 31c51501d7 javaw: bugfix outdir is always a node (since converted in apply_javac) 2019-06-06 15:06:41 +02:00
Thomas Nagy 6bc6cb599c
Refactor javaw.py 066a051181 2019-06-02 08:50:06 +02:00
fedepell 066a051181 javaw: make dependencies code introduced in !2232 more robust 2019-05-28 11:40:43 +02:00
Federico Pellegrin b45634d380 javaw: add node dependencies for non-jar tasks to all generated class files 2019-05-08 05:18:31 +02:00
Federico Pellegrin b22b5636e9 javaw: also when using non-jar CLASSPATH has to be populated to use-d tasks. In this case we point to the directory instead of the JAR file 2019-05-08 05:06:29 +02:00
fedepell d9babce4ce javaw: set dependency between javac task and use-d generated jars nodes 2019-05-07 14:42:39 +02:00
Robert Herbst fc7648b386 javaw: make javadoc optional
Make javadoc optional to support builds on platforms that don't include
javadoc in their Java distribution.
2019-04-16 19:09:43 -05:00
Matt Selsky d8f7fe165f Typos 2019-03-07 22:13:40 -05:00
fedepell 44046343c9 javaw: add quiet=True to ant_globs to suppress warnings of globbing in build
Most of the ant_globs used are explicitly and knowingly on build directory
(ie. javadoc, jar re) so the warning is quite spurious. The only one that
may be in doubt is the source re one: I added also here because if you use
a code generator (ie. protoc) then it is also correct to glob on builds and
the warning is misleading.
2019-01-31 07:03:26 +01:00
Thomas Nagy 4fd4de389c
Fix the api documentation build 2018-12-15 19:45:47 +01:00
fedepell 9cd14427c1 javaw: add possibility to enable recurse use also globally via env variable 2018-12-14 05:50:27 +01:00
fedepell ce8d103cf4 javaw: add some documentation on tool usage 2018-12-13 16:00:17 +01:00
fedepell 37a36eabf2 javaw: add recursive use processing if recurse_use=True 2018-12-12 07:07:17 +01:00
fedepell 23beecebf3 javaw: raise a build fatal error if manifest file not existing instead of crashing 2018-01-24 21:00:13 +01:00
Thomas Nagy d21446ff71
Update docs for 2018 2018-01-01 20:53:49 +01:00
fedepell a6614586c7 javaw: skip adding empty entries in CLASSPATH 2017-12-04 20:14:55 +01:00
Thomas Nagy a5a3915b7a
Prevent duplicate paths when adding from user classpath #2084 2017-11-30 19:55:48 +01:00
Federico Pellegrin a02b71a163 protoc: add java support for protobuffers (#2049)
* protoc: added java support

Modified protoc to support also .proto -> .java generation. the .java file
name generated is not obvious as in C++/Python but follows a couple of rules
that were implemented.

As cxx/python and javaw Tools are quite different the implementation is not
as clean as for cxx/python but is hopefully fine (ie. protoc still uses
sources for input files while javac uses src_dir).

In javaw a small detail was added: a new attribute was added (gencode) that
instructs javac to look for source files also in the build directory. This
are realistically generated code (and .proto -> .java is an example) and
are therefore in the build. Default is false keeping all the previous
behaviour.

* protoc for java enhanchments (protoc version, regex, docs)

In configure stage get protoc version as java naming changes depending on the
version. Implement the version differences between version < 2 and > 2

Improve regex for option catching and implement a mix of them in playground
to verify it.

Add some documentation on how java filenames and paths are generated.

* protoc: build dir with generated code is automatically added, so no need to explicitly use gencode in javac
2017-09-26 19:17:40 +02:00
Thomas Nagy b5408091b3
Cleanup unused global statements 2017-09-02 23:34:15 +02:00
Gustavo Sousa bb9f4a3b82 javaw: run use_javac_files() before propagate_uselib_vars()
Updating the uselib attribute after propagate_uselib_vars() is called won't
yield the desired effect.
2017-05-23 21:23:30 +02:00
Thomas Nagy b7d93c3c4d
Update the year in headers to 2017 2017-02-11 16:13:37 +01:00
DigitalDan05 90719cf63a Allow numbers for Java compat attribute (#1899)
Force the java "compat" parameter as a string.
2017-01-24 20:51:56 +01:00
Thomas Nagy 3e7098861c
Use find_resource for java manifest files 2016-11-26 20:27:04 +01:00
Thomas Nagy 50ae7dc3ba
Api docs 2016-06-26 11:59:27 +02:00
Thomas Nagy 850e9ad5fc
Simplify env['FOO'] -> env.FOO 2016-06-25 23:54:12 +02:00
Thomas Nagy fc02c1d42a
Api docs 2016-06-25 20:10:04 +02:00
Thomas Nagy ed7e2f5016
Add -pthread to link jni programs on FreeBSD 2016-06-19 11:26:25 +02:00
Thomas Nagy 537d1fcd45
Simplify long command processing 2016-06-15 20:24:34 +02:00
Thomas Nagy e0080e9f58
Identify java tasks more accurately and add build order on non-jar tasks - Issue 1725 2016-04-11 00:08:20 +02:00
christophe.duvernois 49ed1e0c0a java tool : allow manifest to be a node 2016-04-05 19:23:32 +02:00
Thomas Nagy a64a8d1d29
Extend relative cwd processing to Task generators 2016-03-23 22:28:14 +01:00
Thomas Nagy a08aff6bff
Format debug/info records lazily 2016-03-19 14:46:22 +01:00
Thomas Nagy 43e26b5bef
cwd must be a Node object 2016-01-02 01:54:52 +01:00
Thomas Nagy da97d28d18
Fixed undefined variables 2016-01-02 00:58:38 +01:00
Thomas Nagy 5a3a89b4de Stop adding incompatible task data into the same dict objects 2015-12-24 18:36:48 +01:00
Thomas Nagy 72fda8ae36 Reduce the size of the build pickle file 2015-12-24 18:36:38 +01:00
Thomas Nagy 7681bddfb7 Remove Node.sig and Node.cache_sig 2015-12-23 17:55:44 +01:00
Thomas Nagy f28426594e
Cleanup: removed most unused variables and imports 2015-10-11 11:32:27 +02:00
Thomas Nagy 44211e0bb5
Enabled errors on warnings for the apidoc generation 2015-04-26 21:00:15 +02:00
Jérôme Carretero 5064fd92ef always use the convention that commands are lists, remove find_perl_program, add interpreter 2013-09-04 23:10:10 -04:00
Thomas Nagy 5c6d626048 removed the cache from the task level, it usually degrades performance and is better implemented on the compiler level 2013-05-26 10:14:49 +02:00
Thomas Nagy 6d570f08bd use os.remove instead of os.unlink for consistency 2013-05-18 19:51:45 +02:00
Thomas Nagy 7eef6588af Use Utils.readf/Utils.writef whenever possible 2013-03-14 13:45:10 +01:00
Jerome Carretero 719dc32539 javaw: indentation fix 2012-06-01 22:04:59 -04:00
Thomas Nagy 692ab67591 typo 2012-04-21 10:22:22 +02:00
Thomas Nagy af2d8053cc Issue 1150, Apple broke java 2012-04-21 00:22:44 +02:00
Thomas Nagy c86de0c041 Issue 1131 2012-03-23 03:50:15 +01:00
Thomas Nagy 59f4ceb51e Issue 1131 2012-03-23 03:42:05 +01:00
Thomas Nagy ce05a01705 Issue 1131 2012-03-23 03:31:56 +01:00