You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
compile java files with ant for incremental builds
Meson doesn't support incremental builds for java, so delegate the java compilation to Ant if available.
This commit is contained in:
19
src/api-impl/build.xml
Normal file
19
src/api-impl/build.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<project name="api-impl" default="dist">
|
||||
<!-- the Ant build is intended to be started from Meson. The properties will be set using commandline parameters -->
|
||||
|
||||
<target name="compile">
|
||||
<mkdir dir="${build}"/>
|
||||
<javac srcdir="${srcdir}" includes="${includes}" destdir="${build}" includeantruntime="false" debug="true">
|
||||
<compilerarg line="${javaargs}"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="compile">
|
||||
<jar jarfile="${jarfile}" basedir="${build}"/>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${build}"/>
|
||||
<delete dir="${dist}"/>
|
||||
</target>
|
||||
</project>
|
||||
@@ -1,4 +1,4 @@
|
||||
hax_jar = jar('hax', [
|
||||
srcs = [
|
||||
'android/Manifest.java',
|
||||
'android/R.java',
|
||||
'android/accounts/Account.java',
|
||||
@@ -591,11 +591,32 @@ hax_jar = jar('hax', [
|
||||
'javax/microedition/khronos/opengles/GL11Ext.java',
|
||||
'javax/microedition/khronos/opengles/GL11ExtensionPack.java',
|
||||
'org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java',
|
||||
],
|
||||
java_args: [
|
||||
]
|
||||
java_args = [
|
||||
'-bootclasspath', bootclasspath,
|
||||
'-source', '1.8', '-target', '1.8',
|
||||
'-encoding', 'UTF-8',
|
||||
'-Xlint:-deprecation', # we implement deprecated APIs
|
||||
'-h', join_paths(dir_base, 'src/api-impl-jni/generated_headers')
|
||||
])
|
||||
]
|
||||
|
||||
ant = find_program('ant', required: false)
|
||||
|
||||
if ant.found()
|
||||
hax_jar = custom_target('hax',
|
||||
output: 'hax.jar',
|
||||
command: [ant,
|
||||
'-buildfile', files('build.xml'),
|
||||
'-Dbasedir=' + builddir_base,
|
||||
'-Dsrcdir=' + meson.current_source_dir(),
|
||||
'-Dincludes=' + ','.join(srcs),
|
||||
'-Djarfile=@OUTPUT@',
|
||||
'-Dbuild=@PRIVATE_DIR@',
|
||||
'-Djavaargs=' + ' '.join(java_args),
|
||||
],
|
||||
depend_files: srcs + ['build.xml'],
|
||||
)
|
||||
else
|
||||
hax_jar = jar('hax', srcs,
|
||||
java_args: java_args)
|
||||
endif
|
||||
|
||||
19
src/test-runner/build.xml
Normal file
19
src/test-runner/build.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<project name="test-runner" default="dist">
|
||||
<!-- the Ant build is intended to be started from Meson. The properties will be set using commandline parameters -->
|
||||
|
||||
<target name="compile">
|
||||
<mkdir dir="${build}"/>
|
||||
<javac srcdir="${srcdir}" includes="${includes}" destdir="${build}" includeantruntime="false" debug="true">
|
||||
<compilerarg line="${javaargs}"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="compile">
|
||||
<jar jarfile="${jarfile}" basedir="${build}"/>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${build}"/>
|
||||
<delete dir="${dist}"/>
|
||||
</target>
|
||||
</project>
|
||||
@@ -1,4 +1,4 @@
|
||||
test_runner_jar = jar('test_runner', [
|
||||
srcs = [
|
||||
# test-runner
|
||||
'android/test/ActivityInstrumentationTestCase2.java',
|
||||
'android/test/ActivityInstrumentationTestCase.java',
|
||||
@@ -56,13 +56,35 @@ test_runner_jar = jar('test_runner', [
|
||||
# this was part of dalvik but got removed at some point
|
||||
'dalvik/annotation/BrokenTest.java',
|
||||
'dalvik/annotation/SideEffect.java',
|
||||
],
|
||||
build_by_default: false,
|
||||
link_with: [hax_jar],
|
||||
java_args: [
|
||||
]
|
||||
|
||||
java_args = [
|
||||
'-bootclasspath', bootclasspath,
|
||||
'-source', '1.8', '-target', '1.8',
|
||||
'-encoding', 'UTF-8',
|
||||
'-Xlint:-deprecation', # we implement deprecated APIs
|
||||
'-h', join_paths(dir_base, 'src/api-impl-jni/generated_headers')
|
||||
])
|
||||
]
|
||||
|
||||
ant = find_program('ant', required: false)
|
||||
|
||||
if ant.found()
|
||||
test_runner_jar = custom_target('test_runner',
|
||||
output: 'test_runner.jar',
|
||||
command: [ant,
|
||||
'-buildfile', files('build.xml'),
|
||||
'-Dbasedir=' + builddir_base,
|
||||
'-Dsrcdir=' + meson.current_source_dir(),
|
||||
'-Dincludes=' + ','.join(srcs),
|
||||
'-Djarfile=@OUTPUT@',
|
||||
'-Dbuild=@PRIVATE_DIR@',
|
||||
'-Djavaargs=' + ' '.join(java_args + ['-classpath', hax_jar.full_path()]),
|
||||
],
|
||||
depend_files: srcs + ['build.xml', hax_jar.full_path()],
|
||||
)
|
||||
else
|
||||
test_runner_jar = jar('test_runner', srcs,
|
||||
build_by_default: false,
|
||||
link_with: [hax_jar],
|
||||
java_args: java_args,)
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user