<feed xmlns='http://www.w3.org/2005/Atom'>
<title>build_soong/java, branch android-n-preview-2</title>
<subtitle>Fork of build/soong
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/'/>
<entry>
<title>Refactor Android.mk generation</title>
<updated>2016-02-10T03:56:22+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2016-02-10T01:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=97750520a4ab0c4a7653a254f56ac5ac4148d37a'/>
<id>97750520a4ab0c4a7653a254f56ac5ac4148d37a</id>
<content type='text'>
Now, instead of combining multiple binaries into a single BUILD_PREBUILT
definition, use separate instances for every module variant. This fixes
HOST vs HOST_CROSS prebuilts, and should be saner overall. From make,
these should look the same, we're only just using one instance of
prebuilt_internal per BUILD_PREBUILT call instead of multiple.

With that simplification, we don't have to store as much state, and can
directly write into the buffer.

Also switch from io.WriteString to fmt.Fprintln, which will require
fewer explicit string concatentations, and we don't need to worry about
newlines.

Allow the module-provided functions to return errors.

Change-Id: If30453b21fa21387f635626618d8fabfc78e6859
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now, instead of combining multiple binaries into a single BUILD_PREBUILT
definition, use separate instances for every module variant. This fixes
HOST vs HOST_CROSS prebuilts, and should be saner overall. From make,
these should look the same, we're only just using one instance of
prebuilt_internal per BUILD_PREBUILT call instead of multiple.

With that simplification, we don't have to store as much state, and can
directly write into the buffer.

Also switch from io.WriteString to fmt.Fprintln, which will require
fewer explicit string concatentations, and we don't need to worry about
newlines.

Allow the module-provided functions to return errors.

Change-Id: If30453b21fa21387f635626618d8fabfc78e6859
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor install paths</title>
<updated>2015-12-21T23:03:15+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2015-12-21T22:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=782a2d116a010d3cbc3ce26c43039b82ee579e55'/>
<id>782a2d116a010d3cbc3ce26c43039b82ee579e55</id>
<content type='text'>
Explicitly allow installation into the data partition instead of using
"../data" for tests. At the same time, pipe through the information
required for vendor modules.

Change-Id: I6baf9d828c285e1080e43074beef8aebdbb38875
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Explicitly allow installation into the data partition instead of using
"../data" for tests. At the same time, pipe through the information
required for vendor modules.

Change-Id: I6baf9d828c285e1080e43074beef8aebdbb38875
</pre>
</div>
</content>
</entry>
<entry>
<title>Use `Path` instead of string for file paths</title>
<updated>2015-12-09T22:29:12+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2015-09-23T22:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=34cc69e4bf36cb65bb181b42ccb0f8c792a32cfb'/>
<id>34cc69e4bf36cb65bb181b42ccb0f8c792a32cfb</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not run zipalign when building APK.</title>
<updated>2015-12-04T19:58:32+00:00</updated>
<author>
<name>Alex Klyubin</name>
<email>klyubin@google.com</email>
</author>
<published>2015-12-04T19:58:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=03257b08b16ad50fd190a1646daceb609c58ecbe'/>
<id>03257b08b16ad50fd190a1646daceb609c58ecbe</id>
<content type='text'>
This changes the build system to no longer run zipalign when signapk
is also run. Running zipalign is no longer needed because signapk
takes care of alignment.

Bug: 25794543
Change-Id: I7bb43421c993bf32f09b0acce2a652376378964f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes the build system to no longer run zipalign when signapk
is also run. Running zipalign is no longer needed because signapk
takes care of alignment.

Bug: 25794543
Change-Id: I7bb43421c993bf32f09b0acce2a652376378964f
</pre>
</div>
</content>
</entry>
<entry>
<title>Hybrid soong/mk build using prebuilts</title>
<updated>2015-12-01T23:08:01+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2015-07-09T01:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=218f65628efe3d15fe788eeaf2bf7a639daeb0ca'/>
<id>218f65628efe3d15fe788eeaf2bf7a639daeb0ca</id>
<content type='text'>
Change-Id: I96daa69af27bd19c8bfbe327a1318f51c738fc03
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I96daa69af27bd19c8bfbe327a1318f51c738fc03
</pre>
</div>
</content>
</entry>
<entry>
<title>Use Rule-local implicit dependencies</title>
<updated>2015-11-18T03:05:07+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2015-11-17T23:27:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=c94a768a2a6998a34f76212912ce4013a7be47f5'/>
<id>c94a768a2a6998a34f76212912ce4013a7be47f5</id>
<content type='text'>
Depends on https://github.com/google/blueprint/pull/78

This uses the new CommandDeps field to move implicit dependencies
embedded in the Command string next to the definition, instead of having
to specify them in every BuildParam struct. This should make it easier
to verify dependencies.

Change-Id: I2711b160920e22fa962a436e1f7041272166f50f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Depends on https://github.com/google/blueprint/pull/78

This uses the new CommandDeps field to move implicit dependencies
embedded in the Command string next to the definition, instead of having
to specify them in every BuildParam struct. This should make it easier
to verify dependencies.

Change-Id: I2711b160920e22fa962a436e1f7041272166f50f
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove EarlyMutators and DynamicDependencies</title>
<updated>2015-11-03T23:46:08+00:00</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2015-10-29T22:25:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=6362e278481ea0cb14d31cd7fd3760116b6d7643'/>
<id>6362e278481ea0cb14d31cd7fd3760116b6d7643</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix java resource glob file list location</title>
<updated>2015-08-24T23:19:43+00:00</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2015-07-15T01:55:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=6e18ca49f83c18772299677a4bd949d9dc978a62'/>
<id>6e18ca49f83c18772299677a4bd949d9dc978a62</id>
<content type='text'>
The source path was being appended to the module out directory
to create the file list file, which was resulting in .. in the
source path moving the file list file up the directory tree.
Use SrcDirRelPath to convert the globbed resource directories
to be relatiave to $srcDir before appending them.

Also do the same fix to generated aidl, logtags, yacc, and lex
files.

Change-Id: I2e636bd30abf03bc1d80a897951a9812cc3e09ef
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The source path was being appended to the module out directory
to create the file list file, which was resulting in .. in the
source path moving the file list file up the directory tree.
Use SrcDirRelPath to convert the globbed resource directories
to be relatiave to $srcDir before appending them.

Also do the same fix to generated aidl, logtags, yacc, and lex
files.

Change-Id: I2e636bd30abf03bc1d80a897951a9812cc3e09ef
</pre>
</div>
</content>
</entry>
<entry>
<title>Update to new blueprint api for bootstrap.BinDir</title>
<updated>2015-08-24T22:40:44+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2015-07-15T21:34:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=24f2f8df874c5253c0772f1524c85fedaa7c64be'/>
<id>24f2f8df874c5253c0772f1524c85fedaa7c64be</id>
<content type='text'>
And regenerate build.ninja.in

Change-Id: I35e8b0362799f94b33309d3944b411de5dbcf40a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And regenerate build.ninja.in

Change-Id: I35e8b0362799f94b33309d3944b411de5dbcf40a
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix glob filename overlap</title>
<updated>2015-07-24T00:52:17+00:00</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2015-07-15T01:26:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/build_soong/commit/?id=a819f08275a1916c792b8f4b7c2116012cd1ce2e'/>
<id>a819f08275a1916c792b8f4b7c2116012cd1ce2e</id>
<content type='text'>
If resources and java files were compiled from the same directory,
ctx.Glob could try to create a glob file that had the same name
as the directory containing another glob file.  Namespace each
call to ctx.Glob so they never conflict.

Change-Id: I4db73af568a2ff2e708e9db64798073b1ed2ff61
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If resources and java files were compiled from the same directory,
ctx.Glob could try to create a glob file that had the same name
as the directory containing another glob file.  Namespace each
call to ctx.Glob so they never conflict.

Change-Id: I4db73af568a2ff2e708e9db64798073b1ed2ff61
</pre>
</div>
</content>
</entry>
</feed>
