This page documents rules for adding third-party Clojure code to
//piper/third_party
.
IMPORTANT: Read go/thirdparty and go/clojure first.
Prerequisites
Before trying to add any Clojure code to third_party
please reach out to
emailremoved@
. Clojure and ClojureScript, are not supported languages by the
languages team. Please see go/newlanguages for a list of approved languages,
some for general purpose usage.
The emailremoved@
maintains both tool chains. They can only be used for
approved use cases and evaluation. If you are here because you think your effort
may benefit from using Clojure and ClojureScript in Google3, please reach out to
emailremoved@
.
General requirements
Third-party Clojure goes in
//piper/third_party/unsupported_toolchains/clojure
. Please keep in mind the
following constraints.
- If you are not a member of
emailremoved@
please reach out before attempting to do anything. - The Clojure tree only accept sources.
- No jar or clojars files with compile code are allowed.
- Only one version of a package can exist in the tree (yes, this may require work).
How do I import a package?
IMPORTANT: Due to the limited current scope only the emailremoved@
imports new
packages.
The main rule to import a package is never do it manually. The emailremoved@
has put together the updater
tool to import the package sources and all the
required dependencies. You can read more about it at
http://linkremoved/
The current dependencies supported are listed below.
To import or update the version of a given package follow the steps below:
- Modify
//third_party/unsupported_toolchains/clojure/supported_deps.edn
with the desired new package or dependency. - Run
//third_party/unsupported_toolchains/updater
. - The updater imports the code with the proper layout. However you need to
include manually the new packages to
//third_party/unsupported_toolchains/clojure:clojure
target and update theBUILD
,LICENSE
andMETADATA
files to the adde packages. - Send resulting CL for review to
emailremoved@
. - Please make sure you get the LGTM from
**************@
before submitting.********************
for approval will be automatically added when needed; if added, assume third party owners will need to review the change.