diff options
author | Moonchild <moonchild@palemoon.org> | 2021-10-15 18:01:51 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2022-04-01 15:26:49 +0200 |
commit | c14bb310ce237c375a5cf4a89e7689ddfbf016c5 (patch) | |
tree | 0551fe2ac349660e93fcd19547a30e2b10b1e0f2 /build | |
parent | ccee5c781bb622d3edd3ac3067bae12af41587f8 (diff) | |
download | uxp-c14bb310ce237c375a5cf4a89e7689ddfbf016c5.tar.gz |
Issue #1053 - Clean up docs and some code comments.
Polish only, no code changes.
Diffstat (limited to 'build')
-rw-r--r-- | build/docs/androideclipse.rst | 90 | ||||
-rw-r--r-- | build/docs/cppeclipse.rst | 8 | ||||
-rw-r--r-- | build/docs/index.rst | 1 | ||||
-rw-r--r-- | build/docs/locales.rst | 79 | ||||
-rw-r--r-- | build/docs/mozinfo.rst | 9 | ||||
-rw-r--r-- | build/docs/toolchains.rst | 55 | ||||
-rw-r--r-- | build/moz-automation.mk | 2 |
7 files changed, 9 insertions, 235 deletions
diff --git a/build/docs/androideclipse.rst b/build/docs/androideclipse.rst deleted file mode 100644 index a8c048130d..0000000000 --- a/build/docs/androideclipse.rst +++ /dev/null @@ -1,90 +0,0 @@ -.. _build_androideclipse: - -======================== -Android Eclipse Projects -======================== - -The build system contains alpha support for generating Android Eclipse -project files to aid with development. - -To generate Android Eclipse project files, you'll need to have a fully -built and packaged tree:: - - mach build && mach package - -(This is because Eclipse itself packages an APK containing -``omni.ja``, and ``omni.ja`` is only assembled during packaging.) - -Then, simply generate the Android Eclipse build backend:: - - mach build-backend -b AndroidEclipse - -If all goes well, the path to the generated projects should be -printed (currently, ``$OBJDIR/android_eclipse``). - -To use the generated Android Eclipse project files, you'll need to -have a recent version of Eclipse (see `Tested Versions`_) with the -`Eclipse ADT plugin -<http://developer.android.com/tools/sdk/eclipse-adt.html>`_ -installed. You can then import all the projects into Eclipse using -*File > Import ... > General > Existing Projects into Workspace*. - -Updating Project Files -====================== - -As you pull and update the source tree, your Android Eclipse files may -fall out of sync with the build configuration. The tree should still -build fine from within Eclipse, but source files may be missing and in -rare circumstances Eclipse's index may not have the proper build -configuration. - -To account for this, you'll want to periodically regenerate the -Android Eclipse project files. You can do this by running ``mach build -&& mach package && mach build-backend -b AndroidEclipse`` from the -command line. It's a good idea to refresh and clean build all projects -in Eclipse after doing this. - -In future, we'd like to include an Android Eclipse run configuration -or build target that integrates updating the project files. - -Currently, regeneration rewrites the original project files. **If -you've made any customizations to the projects, they will likely get -overwritten.** We would like to improve this user experience in the -future. - -Troubleshooting -=============== - -If Eclipse's builder gets confused, you should always refresh and -clean build all projects. If Eclipse's builder is continually -confused, you can see a log of what is happening at -``$OBJDIR/android_eclipse/build.log``. - -If you run into memory problems executing ``dex``, you should -`Increase Eclipse's memory limits <http://stackoverflow.com/a/11093228>`_. - -The produced Android Eclipse project files are unfortunately not -portable. Please don't move them around. - -Structure of Android Eclipse projects -===================================== - -The Android Eclipse backend generates several projects spanning Fennec -itself and its tests. You'll mostly interact with the *Fennec* project -itself. - -In future, we'd like to expand this documentation to include some of -the technical details of how the Eclipse integration works, and how to -add additional Android Eclipse projects using the ``moz.build`` -system. - -Tested Versions -=============== - -=============== ==================================== ================= -OS Version Working as of -=============== ==================================== ================= -Mac OS X Luna (Build id: 20130919-0819) February 2014 -Mac OS X Kepler (Build id: 20131219-0014) February 2014 -Mac OS X 10.8.5 Kepler (Build id: 20130919-0819) February 2014 -=============== ==================================== ================= diff --git a/build/docs/cppeclipse.rst b/build/docs/cppeclipse.rst index 4492add473..3596a2f9a6 100644 --- a/build/docs/cppeclipse.rst +++ b/build/docs/cppeclipse.rst @@ -18,14 +18,14 @@ built tree:: mach build -Then, simply generate the Android Eclipse build backend:: +Then, simply generate the Eclipse build backend:: mach build-backend -b CppEclipse If all goes well, the path to the generated workspace should be -printed (currently, ``$OBJDIR/android_eclipse``). +printed. -To use the generated Android Eclipse project files, you'll need to +To use the generated Eclipse project files, you'll need to have a Eclipse CDT 8.3 (We plan to follow the latest Eclipse release) `Eclipse CDT plugin <https://www.eclipse.org/cdt/>`_ @@ -43,7 +43,7 @@ rare circumstances Eclipse's index may not have the proper build configuration. To account for this, you'll want to periodically regenerate the -Android Eclipse project files. You can do this by running ``mach build +Eclipse project files. You can do this by running ``mach build && mach build-backend -b CppEclipse`` from the command line. diff --git a/build/docs/index.rst b/build/docs/index.rst index 63e0537575..75000aff33 100644 --- a/build/docs/index.rst +++ b/build/docs/index.rst @@ -33,7 +33,6 @@ integrated development environment (IDE) .. toctree:: :maxdepth: 1 - androideclipse cppeclipse visualstudio diff --git a/build/docs/locales.rst b/build/docs/locales.rst index 4705ed9634..86c740218e 100644 --- a/build/docs/locales.rst +++ b/build/docs/locales.rst @@ -17,84 +17,5 @@ like a re-packaging post-processing step. There are scripts in-tree in mozharness to orchestrate these re-packaging steps for `Desktop <https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/scripts/desktop_l10n.py>`_ -and `Android -<https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/scripts/mobile_l10n.py>`_ but they rely heavily on buildbot information so they are almost impossible to run locally. - -The following instructions are extracted from the `Android script with hg hash -494289c7 -<https://dxr.mozilla.org/mozilla-central/rev/494289c72ba3997183e7b5beaca3e0447ecaf96d/testing/mozharness/scripts/mobile_l10n.py>`_, -and may need to be updated and slightly modified for Desktop. - -Step by step instructions for Android -------------------------------------- - -This assumes that ``$AB_CD`` is the locale you want to repack with; I tested -with "ar" and "en-GB". - -.. warning:: l10n repacks do not work with artifact builds. Repackaging - compiles no code so supporting ``--disable-compile-environment`` would not - save much, if any, time. - -#. You must have a built and packaged object directory, or a pre-built - ``en-US`` package. - - .. code-block:: shell - - ./mach build - ./mach package - -#. Clone ``l10n-central/$AB_CD`` so that it is a sibling to your - ``mozilla-central`` directory. - - .. code-block:: shell - - $ ls -al - mozilla-central - ... - $ mkdir -p l10n-central - $ hg clone https://hg.mozilla.org/l10n-central/$AB_CD l10n-central/$AB_CD - $ ls -al - mozilla-central - l10n-central/$AB_CD - ... - -#. Copy your ``mozconfig`` to ``mozconfig.l10n`` and add the following. - - :: - - ac_add_options --with-l10n-base=../../l10n-central - ac_add_options --disable-tests - mk_add_options MOZ_OBJDIR=./objdir-l10n - -#. Configure and prepare the l10n object directory. - - .. code-block:: shell - - MOZCONFIG=mozconfig.l10n ./mach configure - MOZCONFIG=mozconfig.l10n ./mach build -C config export - MOZCONFIG=mozconfig.l10n ./mach build buildid.h - -#. Copy your built package and unpack it into the l10n object directory. - - .. code-block:: shell - - cp $OBJDIR/dist/fennec-*en-US*.apk ./objdir-l10n/dist - MOZCONFIG=mozconfig.l10n ./mach build -C mobile/android/locales unpack - -#. Run the ``compare-locales`` script to write locale-specific changes into - ``objdir-l10n/merged``. - - .. code-block:: shell - - MOZCONFIG=mozconfig.l10n ./mach compare-locales --merge-dir objdir-l10n/merged $AB_CD - -#. Finally, repackage using the locale-specific changes. - - .. code-block:: shell - - MOZCONFIG=mozconfig.l10n LOCALE_MERGEDIR=`realpath objdir-l10n/merged` ./mach build -C mobile/android/locales installers-$AB_CD - - (Note the absolute path for ``LOCALE_MERGEDIR``.) You should find a - re-packaged build at ``objdir-l10n/dist/fennec-*$AB_CD*.apk``. diff --git a/build/docs/mozinfo.rst b/build/docs/mozinfo.rst index 85ceb66576..758d4862fd 100644 --- a/build/docs/mozinfo.rst +++ b/build/docs/mozinfo.rst @@ -62,8 +62,7 @@ bits buildapp The path to the XUL application being built. - For desktop Firefox, this is ``browser``. For Fennec, it's - ``mobile/android``. For B2G, it's ``b2g``. + For desktop Firefox, this is ``browser``. crashreporter Whether the crash reporter is enabled for this build. @@ -107,9 +106,9 @@ nightly_build os The operating system the build is produced for. Values for tier-1 - supported platforms are ``linux``, ``win``, ``mac``, ``b2g``, and - ``android``. For other platforms, the value is the lowercase version - of the ``OS_TARGET`` variable from ``config.status``. + supported platforms are ``linux`` and ``win``. For other platforms, + the value is the lowercase version of the ``OS_TARGET`` variable + from ``config.status``. Always defined. diff --git a/build/docs/toolchains.rst b/build/docs/toolchains.rst index eba640fa06..6ad460a1e2 100644 --- a/build/docs/toolchains.rst +++ b/build/docs/toolchains.rst @@ -54,58 +54,3 @@ archive:: $ ./mach python build/windows_toolchain.py create-zip vs2015u3 The produced archive will be the argument to ``create-zip`` + ``.zip``. - -Firefox for Android with Gradle -=============================== - -To build Firefox for Android with Gradle in automation, archives -containing both the Gradle executable and a Maven repository -comprising the exact build dependencies are produced and uploaded to -an internal Mozilla server. The build automation will download, -verify, and extract these archive before building. These archives -provide a self-contained Gradle and Maven repository so that machines -don't need to fetch additional Maven dependencies at build time. -(Gradle and the downloaded Maven dependencies can be both -redistributed publicly.) - -Archiving the Gradle executable is straight-forward, but archiving a -local Maven repository is not. Therefore a special Task Cluster -Docker image and job exist for producing the required archives. The -Docker image definition is rooted in -``taskcluster/docker/android-gradle-build``. The Task Cluster job -definition is in -``testing/taskcluster/tasks/builds/android_api_15_gradle_dependencies.yml``. -The job runs in a container based on the custom Docker image and -spawns a Sonatype Nexus proxying Maven repository process in the -background. The job builds Firefox for Android using Gradle and the -in-tree Gradle configuration rooted at ``build.gradle``. The spawned -proxying Maven repository downloads external dependencies and collects -them. After the Gradle build completes, the job archives the Gradle -version used to build, and the downloaded Maven repository, and -exposes them as Task Cluster artifacts. - -Here is `an example try job fetching these dependencies -<https://treeherder.mozilla.org/#/jobs?repo=try&revision=75bc98935147&selectedJob=17793653>`_. -The resulting task produced a `Gradle archive -<https://queue.taskcluster.net/v1/task/CeYMgAP3Q-KF8h37nMhJjg/runs/0/artifacts/public%2Fbuild%2Fgradle.tar.xz>`_ -and a `Maven repository archive -<https://queue.taskcluster.net/v1/task/CeYMgAP3Q-KF8h37nMhJjg/runs/0/artifacts/public%2Fbuild%2Fjcentral.tar.xz>`_. -These archives were then uploaded (manually) to Mozilla automation -using tooltool for consumption in Gradle builds. - -To update the version of Gradle in the archive produced, update -``gradle/wrapper/gradle-wrapper.properties``. Be sure to also update -the SHA256 checksum to prevent poisoning the build machines! - -To update the versions of Gradle dependencies used, update -``dependencies`` sections in the in-tree Gradle configuration rooted -at ``build.gradle``. Once you are confident your changes build -locally, push a fresh try build with an invocation like:: - - $ hg push-to-try -m "try: -b o -p android-api-15-gradle-dependencies" - -Then `upload your archives to tooltool -<https://wiki.mozilla.org/ReleaseEngineering/Applications/Tooltool#How_To_Upload_To_Tooltool>`_, -update the in-tree manifests in -``mobile/android/config/tooltool-manifests``, and push a fresh try -build. diff --git a/build/moz-automation.mk b/build/moz-automation.mk index e7fa16fcb7..971bdddf93 100644 --- a/build/moz-automation.mk +++ b/build/moz-automation.mk @@ -15,7 +15,7 @@ ifndef JS_STANDALONE include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk include $(topsrcdir)/toolkit/mozapps/installer/upload-files.mk -# Clear out DIST_FILES if it was set by upload-files.mk (for Android builds) +# Clear out DIST_FILES if it was set DIST_FILES = endif |