.gitignore
author Nick Alexander <nalexander@mozilla.com>
Thu, 22 Feb 2018 16:11:14 -0800
changeset 473898 d8c9882a3b3ca27904d6169567829e79c458e567
parent 462085 1231cfa429da4047ce895adea82e93e3dee81d05
child 484535 5f4b230692b94ec13b1bf946438e7781e88e4c7a
permissions -rw-r--r--
Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen We want annotationProcessors to be compiled and archived into a JAR at build time, ready to generate JNI wrappers. (That is, until we turn the whole thing into a real annotation processor.) But even if we do use a real annotation processor, we still need to generate SDK bindings, which is less clearly expressed as an annotation processor. (It's more of a build step.) Gradle provides a huge number of ways to organize build logic to achieve this: see https://docs.gradle.org/current/userguide/organizing_build_logic.html. Unfortunately, the best such way -- putting the code into $topsrcdir/buildSrc -- has key disadvantages: 1) it pollutes the top-level $topsrcdir, and there's no way to change the location of buildSrc (https://github.com/gradle/gradle/issues/2472); 2) it's complicated to have a dependent project (mobile/android/annotations) expose its code via a buildSrc project; 3) using buildSrc at all appears to conflict with the Android-Gradle plugin version that we are using. Therefore, this commit does something much simpler: it adds a Java-only project and uses the resulting Gradle "Jar" task and archive output as input to the existing Gradle "generate JNI wrappers" task. MozReview-Commit-ID: 2OyYLPneE1M

# .gitignore - List of filenames git should ignore

# Filenames that should be ignored wherever they appear
*~
*.pyc
*.pyo
TAGS
tags
# Ignore ID generated by idutils and un-ignore id directory (for Indonesian locale)
ID
!id/
.DS_Store*
*.pdb
*.egg-info

# Vim swap files.
.*.sw[a-z]

# Emacs directory variable files.
**/.dir-locals.el

# User files that may appear at the root
/.mozconfig*
/mozconfig
/configure
/old-configure
/config.cache
/config.log
/.clang_complete
/machrc
/.machrc

# Empty marker file that's generated when we check out NSS
security/manager/.nss.checkout

# Build directories
/obj*/

# gecko.log is generated by various test harnesses
/gecko.log

# Build directories for js shell
_DBG.OBJ/
_OPT.OBJ/

# SpiderMonkey configury
js/src/configure
js/src/old-configure
js/src/autom4te.cache
# SpiderMonkey test result logs
js/src/tests/results-*.html
js/src/tests/results-*.txt

# Java HTML5 parser classes
parser/html/java/htmlparser/
parser/html/java/javaparser/

# Ignore the files and directory that Eclipse IDE creates
.project
.cproject
.settings/

# Ignore the files and directory that JetBrains IDEs create.
/.idea/
*.iml
# Android Monitor in Android Studio creates a captures/ directory.
/captures/

# Gradle cache.
/.gradle/

# Local Gradle configuration properties.
/local.properties

# Python virtualenv artifacts.
third_party/python/psutil/**/*.so
third_party/python/psutil/**/*.pyd
third_party/python/psutil/build/
third_party/python/psutil/tmp/

# Ignore chrome.manifest files from the devtools loader
devtools/client/chrome.manifest
devtools/shared/chrome.manifest

# Ignore node_modules directories in devtools
devtools/**/node_modules

# Tag files generated by GNU Global
GTAGS
GRTAGS
GSYMS
GPATH

# Git clone directory for updating web-platform-tests
testing/web-platform/sync/

# Third party metadata for web-platform-tests
testing/web-platform/products/

# Android Gradle artifacts.
mobile/android/gradle/.gradle

# XCode project cruft
/*.xcodeproj/
embedding/ios/GeckoEmbed/GeckoEmbed.xcodeproj/project.xcworkspace/xcuserdata
embedding/ios/GeckoEmbed/GeckoEmbed.xcodeproj/xcuserdata

# Rust/Cargo output from running `cargo` directly
/target/

# Ignore mozharness execution files
testing/mozharness/.tox/
testing/mozharness/build/
testing/mozharness/logs/
testing/mozharness/.coverage
testing/mozharness/nosetests.xml

# Ignore ESLint node_modules
node_modules/

# Ignore talos virtualenv and tp5n files.
# The tp5n set is supposed to be decompressed at
# testing/talos/talos/page_load_test/tp5n in order to run tests like tps
# locally. Similarly, running talos requires a Python package virtual
# environment. Both the virtual environment and tp5n files end up littering
# the status command, so we ignore them.
testing/talos/.Python
testing/talos/bin/
testing/talos/include/
testing/talos/lib/
testing/talos/talos/tests/tp5n.zip
testing/talos/talos/tests/tp5n
testing/talos/talos/tests/devtools/damp.manifest.develop

# Ignore sync tps logs and reports
tps.log
tps_result.json

# Ignore files created when running a reftest.
lextab.py

# tup database
/.tup

# Ignore Visual Studio Code workspace files.
.vscode/*
!.vscode/extensions.json
!.vscode/tasks.json