Commit Graph

50 Commits

Author SHA1 Message Date
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
Adnan Begovic 744a2571fd CM: Provide apicheck and cm-specific config inheritance.
Change-Id: Id5e488c5fb653bf2c330d2581d28a70971d56690
2015-06-04 18:08:07 +00:00
Adnan Begovic 8f7444802c CM: Make sure we're parsing api versions for cmsdk docs.
Change-Id: If6223fbc2f22378bb993a09f92d4a7e6972c022a
2015-05-29 17:51:32 +00:00
Adnan Begovic e190d66b8a CM: Update droiddoc template for cmsdk
Resolve index page.

Change-Id: I5546f49f3d4b277686c2e07ed1ef0082b4a4b6ce
2015-05-21 15:16:03 -07:00
Adnan Begovic 88e99ec1e7 CM: Update styles for droiddoc.
Change-Id: Ia994ae1b17a0ee3cf0e997f7ef3501228310c29e
2015-05-19 17:27:11 -07:00
Adnan Begovic 7ebb507c02 CM: Provide droiddoc cmsdk template.
Change-Id: I3825b2a1dbd680d25c28bfad49c71b94119dcd8f
2015-05-19 16:12:17 -07:00
Adnan Begovic b53c503fee Build CM Platform Library
Change-Id: If62e6b1d2ac41730ff2a8d562173abd2cb768f93

Add cmstatusbar service to system server services context

Change-Id: I77c5de75722cc5f36a5326e3da57ab661b89d189

Build Platform resource package.

Change-Id: Id60f66b6db23989db1472a19bcb079b0083f7393

vendor/cm: Lock cm platform library/cmsdk to non-release builds.

Change-Id: I01c1c3fe559d438e28339ce426d7ba7e42724002
2015-05-12 17:45:07 -07:00
Steve Kondik ffe07b85eb cm: CM-specific build macros
* vendor/*/build/core/definitions.mk is automatically sourced by the
   build system to load custom macros. Start using this for some
   of our own.
 * Adds a "uniq" macro to remove duplicates from a list without changing
   it's order.

Change-Id: Id5f1eb4b9f81bb31ca0b3d5e74c298b3d105da10
2015-04-07 02:27:35 +00:00