Commit Graph

57 Commits

Author SHA1 Message Date
Matt Mower
fecbcbe269 extract_utils: Introduce variable INITIAL_COPYRIGHT_YEAR
Let a device specify INITIAL_COPYRIGHT_YEAR=XXXX in setup-makefiles.sh
so that the correct copyright(s) is/are included in vendor makefiles.
The CyanogenMod copyright is retained when INITIAL_COPYRIGHT_YEAR<2017
and the LineageOS copyright is now included for >=2017.

Change-Id: I6895b5b69bc7ba399042ac3c29e17f3209d15f1b
(cherry picked from commit 8945f5e8c796a3fca6fe2ae3cd90df331959c167)
2017-01-16 21:47:25 +00:00
David Marble
84cfb7f0d1 http_prebuilt: Improve retrieval of artifacts from archive
The current version always redownloads the artifact.
Kali does not like the nested md5sum command and ignores it
leaving file checksum value blank so the test always fails.
A temporary variable is used to get around this limitation
of kali.

The echo "Downloading..." command has been modified to actually
print and has been moved so it only does so when downloading
the artifact.

Change-Id: I115860a87e55399a652d6548fe50f6204337f854
(cherry picked from commit 20c06fd75e09f3910ec699bdc54eec08f6bb4594)
2017-01-12 18:33:30 +00:00
Brandon McAnsh
1846ec0341 http_prebuilt: Implement archive of artifacts
* checksum will be downloaded and asserted to prevent a
    redownload every clean
* Archives will exist (invisibly) at vendor/cm/prebuilt/archive

Change-Id: I637e86cacd146d665044a119885900dc4660e22b
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
2017-01-08 15:58:48 +00:00
Dan Pasanen
68718f9760 vendor: Add a task for getting prebuilts via http
* Gello being our first pawn
 * Use curl instead of wget (more powerful)
 * Ensure the intermediates directory exists prior to download

Change-Id: If19c18638a14a8b9ab55470ae6ee5a2deda2e3ec
2017-01-02 04:18:11 +00:00
Zhao Wei Liew
e9bf910528 cm: Rebrand to LineageOS
Change-Id: Icf53ce2b98306498cfa815e9fc7377e9a6c583a6
2016-12-29 12:39:54 +08:00
Elektroschmock
cbc9b90115 extract_utils: Add option to define the certificate for jars
Change-Id: I3fb4ff29b2ce898989f5599b47f47ee7fcfc5e92
2016-11-04 04:13:40 -07:00
HashBang
8a1906ce94 extract_utils: Do not change app SRC if there are arguments
Do not prepend app or priv-app to the src when a path is explicitly
given as an argument. This fixes the SRC path in such conditions.

Change-Id: I43370f17fe224df323fcfa9b0d5eae4ee2996524
2016-10-08 14:21:15 -07:00
Adnan Begovic
a194731dd4 cm: "Released" means current.
Since mainline devices will always identify as a latest
  release api level (due to userbase volume), make sure
  we check against the current api vs api -1.

Change-Id: I9e9b41a1af5d3a93f58b2e0e0545b979d1cef978
2016-08-17 14:15:14 -07:00
Steve Kondik
48f8df8ddb extract-utils: Add pinning support
* In many cases, we would like to keep certain files which do not
   exactly match what might be extracted from a factory ROM. This
   becomes extremely annoying over time to manually reconstruct,
   and it's easy to miss these special cases when updating to a
   new vendor release. It's also useful to flag additions which
   aren't found in the upstream release at all.
 * To solve this, we can now "pin" files to a specific sha1 hash.
   Simply append the sha1sum of the file to the appropriate line
   in your bloblist, prepended by a | delimiter.
 * This works by backing up the current files first, running the
   extraction, then checking if any pinned files need to be
   restored.
 * Also add an exit trap to clean up all of our tempfiles

Change-Id: I2010b5175b5701e19a3efb112e8907062ca37d66
2016-08-14 14:10:53 -07:00
Louis Popi
a516c2f0ac cm: extract_utils: Add a firmware extraction method
Change-Id: If14f6932cbdccf45ca0cc91c403e951363e91260
2016-08-05 08:31:55 +01:00
Luca Stefani
3a03012242 cm: extract_utils: Fixup xml files
Change-Id: Icb8efcca0e6e37a3ea7432716fcbfbd631d96c19
2016-08-05 00:01:45 -07:00
Luca Stefani
7f9fff2317 cm: extract_utils: Implement oat2dex
* Shipping baksmali and smali (version 2.1.3) in vendor/cm
   (Official sources: https://github.com/JesusFreke/smali)

Change-Id: Iaca6337fa2d4b5f2d6654ef5142ec0313af63f5a
2016-08-05 00:00:52 -07:00
Steve Kondik
03ce400352 Revert "extract_utils: Don't write multilib tags on 32-bit only devices"
* Not gonna work without preparsing all the lists combined together.

This reverts commit b7b7f88443.

Change-Id: I63ceead414d7f8416e2c2c8e4b12098077b545e2
2016-07-29 04:24:05 -07:00
Bruno Martins
3b96ba5841 cm: extract_utils: Rewrite file existence checks
Change-Id: I7c1584ec7162e0e18fae471e6aceef6123a5d10b
2016-07-28 16:24:28 -07:00
Steve Kondik
b7b7f88443 extract_utils: Don't write multilib tags on 32-bit only devices
Change-Id: I41b6f71c45a566ba1b4dd5cb72c4ebf44388b363
2016-07-28 16:12:19 -07:00
Steve Kondik
a991cf1f9b extract_utils: Add support for files in rootfs
* A final "rootfs" tag in the last column will place
   the chosen file into the ramdisk
 * Currently only supports files in /sbin
 * Cleaned up usage of class-specific flags
 * Simplified code

Change-Id: Id823d70aab51f8767522f697eaf65f52fc64b94b
2016-07-28 16:12:19 -07:00
Steve Kondik
52f3680199 cm: Remove stray echo from extract_utils
Change-Id: I2d893a3f8472a86835feef24540e82c47b69fd67
2016-07-21 09:43:52 -07:00
Steve Kondik
60ef86de1a cm: Underp dumping of 64-bit only libraries
Change-Id: I9c2140b40747fc7f847f1a532c42fb7ae5bfc3fd
2016-07-20 20:08:54 -07:00
Steve Kondik
4e2aaabd13 cm: Add generic tools for extract-files / setup-makefiles scripts
* Instead of having to enumerate packages and do a bunch of tedious
   shit, we now have a way to do it automatically based only on
   the blob lists.
 * Devices still need to implement a short script, but this library
   handles all the core functions.
 * Yes, we should probably be doing this in Python- Bash is
   absolutely horrible at dealing with arrays and lists.

Change-Id: I73b30ff4531c4d1b33ac53db33abf62555f500b4
2016-07-18 10:10:44 -07:00
Luis Vidal
1117dae753 cmsdk-api-coverage: Don't prepend ANDROID_BUILD_TOP to file path
$@ already contains the full path of the output, so no need
to prepend ANDROID_BUILD_TOP to the path

Change-Id: Ieeeb9fa16352e80b878cddb89b1e7c04b82ab43c
2016-06-13 17:29:48 -07:00
Adnan Begovic
c385e3691b cm: Use cmsdk-api-coverage executable for coverage.
Change-Id: I8610f402d7c9a55213a520f317d7c94074c96df9
2016-06-13 14:51:01 -07:00
Adnan Begovic
3ab3d0e81c cm: Include CMSettingsProvider in test coverage report.
TICKET: CYNGNOS-3016
Change-Id: Ia02464614b02b98a535f963aae5a1b13281abaa7
2016-06-07 10:49:16 -07:00
Adnan Begovic
64cb3b6fe3 cm: Change output html name for cmsdk test coverage.
Change-Id: Idbea6064b89051b5db99aaadeec71502b65724bf
2016-06-07 10:48:45 -07:00
Adnan Begovic
10e4f5a66f cm: Amend api text message.
Change-Id: Idfa73b8ec3f9375766e01d8fb7b69079d776b751
2016-04-15 10:43:09 -07:00
Adnan Begovic
07661487a9 cm: Support maven artifact as aar for publish.
Change-Id: Ie0b81e46823e15b1cadfd1426f6d6cbb6daf4e10
TICKET: CYNGNOS-2305
2016-04-12 14:53:45 -07:00
Adnan Begovic
de0b2d324f cm: Actually have checkapi-cm match against prior release.
Change-Id: I10b88f962d9410687640a40ce7f564e0bd04c2c6
TICKET: CYNGNOS-2303
2016-04-01 16:40:20 -07:00
Adnan Begovic
3bfd87e5ac cm: Add further verbose messaging for api breaking changes.
Change-Id: I2a53cbfb1aff682f0d39c7f600cc755aa9e4baa9
2016-03-30 11:25:00 -07:00
Adnan Begovic
6a04a23a52 cm: Always verify against current CMSDK version.
Since cmsdk prebuilts lives in a single master branch,
  previous branches that apicheck will fail since they'll
  verify against an api that exists in future releases.

Change-Id: I56594d075b89cb1a3d7a606cc9c1699dfffd94cb
TICKET: CYNGNOS-2220
2016-03-10 12:25:26 -08:00
Adnan Begovic
651dd50e59 cm: Create cmsdk coverage task.
Add ability to `make cmsdk-test-coverage`
  to generate an html page which denotes how
  much the testing package from vendor/cmsdk
  covers public interfaces.

Change-Id: I76556df1822934a6b7e86ebf2ff42e302acff46d
TICKET: CYNGNOS-2189
2016-03-04 15:24:11 -08:00
Adnan Begovic
97ac30ec9c cm: Set explicit dependencies on stubs for checkapi-cm.
Change-Id: I2c8b8425262a6812f1061326c55ffc7418967444
TICKET: CYNGNOS-1950
2016-02-10 15:22:17 -08:00
Adnan Begovic
f84ce1b738 cm: Fix checkapi makefile typo.
Change-Id: I96d1acba8e8f665dabf6d18dac5fc5c3132ad0f7
TICKET: CYNGNOS-1950
2016-02-09 11:38:40 -08:00
Adnan Begovic
e738087fdd cm: Provide verbosity for checkapi-cm.
Also a helper text for how to unbreak yourself.

TICKET: CYNGNOS-1950
Change-Id: I8311e19905b507c3a65eba37a6b4ea6606108e4f
2016-02-09 11:05:03 -08:00
herriojr
f0a6f1ec8b Fixed mmm For Maven APK
Maven APK (Why are these in maven anyways?) will crash due to it not
needing to generate a jack file.  This wasn't noticed before as brunch
succeeded, however, doing an mmm on one will cause this to fail. This
adds in logic to not generate a jack file for an apk in maven.

Change-Id: I44036bfd51ae3edd9437b153898b419ffc6ba2d6
2016-01-18 10:32:36 -08:00
herriojr
04864b10aa Fixed Maven Artifactory to work with jack
Prebuilts weren't generating their .jack file when doing an mm or mmm
but would work with a brunch or full make.  This makes it so mmm/mm
will properly generate it.

Change-Id: If5ccd1b557ef124b3c57fa09b172ec11caff886e
2016-01-15 16:58:02 -08:00
Adnan Begovic
d2bc6c2b69 cm: Fixup maven artifact publish inclusions.
TICKET: CYNGNOS-1529
Change-Id: Ie7307d43f0b38b179ae42b7c54a790bb7e4c5ea5
2016-01-05 20:12:23 -08:00
Adnan Begovic
4198cf685f cm: Modify maven artifact publish makefile.
Now allows you to specify a target module to be
  compiled prior to publish via LOCAL_MAVEN_TARGET_MODULE.

  This utilizes the definition for intermediates-dir-for on
  the target module after it sets an explicit dependency from
  remote to local module.

Change-Id: I65b5e07fdcc3368e350b1935ccca381b74dce59e
2016-01-05 17:36:46 -08:00
Adnan Begovic
39ba595215 cm: Publish system api as part of publish process.
Change-Id: Iba8b2fbc43dfd7592d7526b03ce6e1338ea095d0
2015-12-23 12:38:15 -08:00
Adnan Begovic
62869cd7d6 vendor/cm: Don't be so noisy.
Change-Id: I3aa12c87b4b3e7f3da4fc4971659b981f460872a
2015-08-13 12:34:16 -07:00
Adnan Begovic
f192636b82 vendor/cm: Always use gpg sign-and-deploy for deployments.
- Also support LOCAL_MAVEN_SOURCES and LOCAL_MAVEN_JAVADOC

Change-Id: Icfab8d23d8a9e9993eb74adf7349439bc4b6d1ed
2015-08-07 13:28:56 -07:00
Adnan Begovic
44716fb0ee vendor/cm: Provide means of uploading an artifact to maven.
Change-Id: Ide225d75807a917773520ae1b7772e8de9b1ab73
2015-08-06 20:43:49 -07:00
Chris Sarbora
bf1bcdbc44 Specify the maven-dependency-plugin version directly so as to force Maven 3.0.5 to use the correct version.
Change-Id: Ia8b943feeb13d8835e0510404d067a2760608aa6
2015-07-25 17:54:15 -07:00
Adnan Begovic
4397d1d238 vendor/cm: Introduce update-cm-prebuilts-latest-public-api.
Change-Id: I6a09d3b26573c81e74dc0338ef8899bebb1b5320
2015-07-18 15:12:53 -07:00
Adnan Begovic
5dd3371ed8 vendor/cm: Clean up paths to known files.
Change-Id: I867300c04aae1f429be5e2bd057e559a00bc12b5
2015-07-18 15:12:28 -07:00
Chris Sarbora
9bf517f89d Hack in support for the old version of Maven that Ubuntu apparently ships with
Change-Id: I39094627ff114901cc49f792ab601ab5b1677c19
2015-07-16 18:54:08 -07:00
Chris Sarbora
b1f4115b47 Prevent Maven target from grabbing transitive dependencies
Dependencies of Maven targets will have to be managed manually. The prebuilt
target that the Maven target is based off of wasn't designed to handle multiple
artifacts per project. Additionally, this target is mainly intended for grabbing
APKs or other standalone blobs, not for pulling in a full jar dependency tree.
If that is your use case, you may want to investigate simply converting your
project to Gradle (or the Maven build system, if you can stomach it).

Change-Id: Iaf48c95c704cfdc85e0074394ff3c7464937e60c
2015-07-08 08:27:29 -07:00
Adnan Begovic
51fd84224f vendor/cm: Represent as CyanogenMod API's
Change-Id: I4c0807df9f2412fef9d44464ab01d019116a7e85
2015-06-23 17:34:30 -07:00
Adnan Begovic
3314aacd79 vendor/cm: Remove search widget from developer docs.
Since github.io is a static page, and we lack an enpoint to search,
  the search widget is useless.

Change-Id: I7c5728abaac880359daa71aa1d7093e38061231c
2015-06-23 17:32:33 -07:00
Adnan Begovic
be48647b37 vendor/cm: Point to proper prebuilts/cmsdk directories.
Change-Id: I80ac94fd9b2d3a80d91a82d65a260d26b1436e60
2015-06-22 14:57:24 -07:00
Chris Sarbora
ea326686fb Support downloading from Maven
Change-Id: I94b8627a3bd15726cb4918b9a64b696f2a26e587
2015-06-19 20:52:45 +00:00
Adnan Begovic
ecc8b17853 cm: Point to the right files for checkapi-cm.
Change-Id: If67f1121add724e4b92e862fa3ec56002ba14382
2015-06-04 14:03:43 -07:00