summaryrefslogtreecommitdiff
path: root/java/java.go
AgeCommit message (Collapse)Author
2015-12-09Use `Path` instead of string for file pathsDan Willemsen
This centralizes verification and common operations, like converting the path to a source file to the path for a built object. It also embeds the configuration knowledge into the path, so that we can remove "${SrcDir}/path" from the ninja file. When SrcDir is '.', that leads to paths like './path' instead of just 'path' like make is doing, causing differences in compiled binaries. Change-Id: Ib4e8910a6e867ce1b7b420d927c04f1142a7589e
2015-11-03Remove EarlyMutators and DynamicDependenciesColin Cross
EarlyMutators are identical to BottomUpMutators, except they run before DynamicDependencies. DynamicDependencies can be replaced with a BottomUpMutator. Replace both EarlyMutators and DynamicDependencies with BottomUpMutators, which allows setting the order between all mutators through registration order. Change-Id: Id1305d798d3d2da592061c89d7c10a71780b71a3
2015-07-09use init functions to register module types, etc.Colin Cross
Instead of putting all the blueprint registrations in soong_build, put them all in init() functions. This puts the registration next to the implementation. Change-Id: Ide1a749518f5e9d1367a18ab3bb1d91da3310c76
2015-07-01Add exclude_* and remove arch_subtract / "-file"Dan Willemsen
To align with the current make build system, add exclude_srcs and exclude_java_resource_dirs. These replace the functionality of arch_subtract and glob exclusions that use "-file" to exclude a file. Change-Id: I91c23d5e3c9409f2d9f7921f950153a03a68ad61
2015-06-29Improve property comments for docsColin Cross
Improve the comments associated with properties to work better with Blueprint's auto-documenting feature. Make all properties structs into named types so that thet types can be found using reflection and cross-referenced to the source code to auto-extract docs. Remove the leading <property>: text from properties, the documentation will include the lowercased name of the property. Add filter tags to the nested arch properties. Change-Id: I4ef5db86358886fe61456c24eb2dbe6f7b876115
2015-06-17Allow common.Glob to be called by singletonsColin Cross
Make common.Glob take an interface that is the intersection of blueprint.ModuleContext and blueprint.SingletonContext used by Glob and GlobRule, allowing it to be called on either. Also move ExpandSources and Glob into AndroidModuleContext. Change-Id: I8d1a3160c5dd201033afdb37210e82d8065b137d
2015-05-04Build rule updates for aospColin Cross
Various build rule changes to match AOSP: Add libunwind_llvm and libdl as dependencies for libc++ on device Always add libcompiler_rt-extras as a dependency Add libm, libc, and libdl as depnendencies for libc++ static binaries Disable some clang warnings, and add some clang filtered cflags Add -fstack-protector to host linux builds Add jack_flags property to java modules (currently ignored) Change-Id: Ic0da617bdeaf25f58cb8298dd9ea91b7d6509151
2015-04-29java: add genrule support to java buildsColin Cross
Add support for source files generated by genrule or gensrcs to java builds. Change-Id: I39762b2ab65fa4cf92724300edc4ba995845ce92
2015-04-20java: modify base java rules for android app buildsColin Cross
Store the jar output file for the app build to use. Allow module types built on top of javaBase to provide filelist files containing source files. Allow module types built on top of javaBase to insert dependencies through JavaDynamicDependencies. Allow any java module to depend on framework-res.apk. Move the install rule from javaBase to JavaLibrary. Change-Id: I46e7e80139845ef7cc89daf180bddbdf77125555
2015-04-20java: add default libraries for device buildsColin Cross
Add implicit libraries core-libart, core-junit, ext, and framework to device java builds. Change-Id: I8b4e1e54bfd4bc89fbcd211ab8da6bbcf092c523
2015-04-20java: add one-off build logic for frameworks/baseColin Cross
framework.jar needs to compile against R.java and Manifest.java from framework-res.apk. Rather than complicating the Blueprints properties with values that will only be used once, add one-off logic to collectDeps to extract the rJarSpec out of the framework-res module. Change-Id: I1195b1b5e07badc583703479382ceba35300b8fd
2015-04-20Rename resource_dirs to java_resource_dirsColin Cross
Java vs. Android resource directories are already confusing enough, rename resource_dirs to java_resource_dirs to make room for android_resource_dirs. Change-Id: Iffd087860b98df29e81d8d2f823be87c8227e614
2015-04-13Optimize javacFlags and aidlFlags in ninja filesColin Cross
aidlFlags gets specified for every aidl file. Use a module scoped ninja variable to hold the aidl flags, and while we're at it do the same for javacFlags. Change-Id: I980f0006c41918154ab0479d56387630a7e1d677
2015-04-13Move SDK prebuilts to new prebuilt_sdk module typeColin Cross
SDK prebuilts need to be treated differently than other prebuilts. They are used like a normal Java prebuilts when compiling java files, but they are also used as aapt includes when compiling apps, and they provide prebuilt aidl files when compiling aidl sources. Create a new module type so dependers can determine what kind of dependency they are. Change-Id: If426da63cfadcb4b14abda58c7b346554912a07a
2015-04-13Add logtags source file supportColin Cross
Add support for converting logtags files to source files. Each .logtags file is converted to a .java file, but only after all .logtags files have been combined into a merged text file by the logtagsSingleton. Change-Id: I375d82874029bd26a7c528e46add2a638ba123f9
2015-04-13Fix multi-dex buildsColin Cross
Building with --multi-dex requires passing an output directory instead of an output file to dx. Change-Id: I9ffcfe8ff6b96dbdda3eec1076124cd38ae5077f
2015-04-10Extract classes out of jarjar jar for static java librariesColin Cross
jarjar modifies the .class files in a jar, when using static java library dependencies we need to use the modified class files and not the ones that javac produced. If jarjar is enabled, use the prebuilt jar extractor to get the classes out of classes-jarjar.jar and export them through j.classJarSpecs. Change-Id: Ia2854f1c26d630da12cab7c421007aad4f793ecd
2015-04-10Miscellaneous fixes for java compilingColin Cross
Remove java out directory before compiling to avoid incremental compile issues. Move the rspfile out of the out directory so it doesn't get deleted. cc->javac in the javac rule. Don't call javac if there are no source files. Change-Id: I0bb06c214da54a587bd9e7c9d17caaf0ed1e595e
2015-04-08Add aidl file support to java buildsColin Cross
Add support for aidl files listed in srcs for java builds, and an aidl_preprocess module type for framework and sdk aidls. Change-Id: I3aa537f4483822e5b534c74d0b35f13a938f8947
2015-04-08Fix missing bootclasspath error in java compilesColin Cross
If a java library only links against the same jar as bootclasspath, the jar was being added to classpath and not bootclasspath, leaving bootclasspath blank and using the default bootclasspath. Reverse the order so that bootclasspath takes effect. Change-Id: Ib9fbf01897314a57228013d4aef52606390b0aca
2015-04-08Support subtracting sources from globsColin Cross
Support -file or -path/glob in file lists that contain globs to subtract files from the resulting glob. Also move source file prefixing and handling into a common function. Change-Id: Ib6d74ce22f53cae7348c4ba35b779976d90359a6
2015-04-08Move config into common and provide helperColin Cross
Using ctx.Config().(Config) everywhere is a mouthful, and it is inefficient to do the type assertion. Put the Config interface into the context, and provide an AConfig() to return the Config already converted to the right type. Change-Id: I301a1fd7d2a005580aabca7866a37c5d42ad8c69
2015-04-08Add jarjar supportColin Cross
If jarjar_rules is set, pass the compiled jar through jarjar to produce a new intermediate jar. Change-Id: Ied596433fd5c49d05f07c04245f3abe8b9aadc5e
2015-04-03Add support for using prebuilt libraries as static dependenciesColin Cross
Extract files out of prebuilt libraries and create list files for classes and resources in order to allow including them in other jars. Change-Id: I9269d1fd6e0f570811a00bf319098ac1f7cdc816
2015-04-03Support java libraries, binaries, and prebuiltsColin Cross
Add support for compiling java libraries (.jar files with or without .dex), java binaries (.jar files with a wrapper script to run them), and java prebuilts (for the SDK .jars) Change-Id: Id624da64c92cf20c6d9577c6bb06e5b212af0d1b