pantsbuild / pants

The Pants Build System
https://www.pantsbuild.org
Apache License 2.0
3.31k stars 634 forks source link

Much config needed to `./pants goal help publish` #77

Closed jsirois closed 7 years ago

jsirois commented 10 years ago

In order to test out some publish phase additions in a pants python-only repo using the current state of plugins, I had to apply this diff of pure defaults config:

diff --git a/BUILD.tools b/BUILD.tools
new file mode 100644
index 0000000..c942f2c
--- /dev/null
+++ b/BUILD.tools
@@ -0,0 +1,6 @@
+jar_library(
+  name='nailgun-server',
+  dependencies=[
+    jar(org='com.martiansoftware', name='nailgun-server', rev='0.9.1')
+  ]
+)
diff --git a/pants.ini b/pants.ini
index e686112..d549914 100644
--- a/pants.ini
+++ b/pants.ini
@@ -22,6 +22,9 @@ os_pants_sha: 2ba72ba13cdd827ead7a4744d7ad04e79914722e
 ; quick test post publish - no propagation delay
 binary_home: https://svn.twitter.biz/science-binaries/home/pants_internal

+pants_support_baseurl: https://science-binaries.local.twitter.com/home/pants/build-support
+
+
 [goals]
 bootstrap_buildfiles: ['%(buildroot)s/BUILD']

@@ -34,5 +37,66 @@ repos: [
     '%(binary_home)s/third_party/python/',
   ]

+
 [confluence-publish]
 url: https://confluence.twitter.biz
+
+
+[ivy]
+cache_dir: %(homedir)s/.ivy2/cache
+
+
+[ivy-resolve]
+workdir: %(pants_workdir)s/classpath
+
+
+[protobuf-gen]
+workdir: %(pants_workdir)s/protoc
+
+supportdir: bin/protobuf
+version: 2.4.1
+
+javadeps: []
+pythondeps: []
+
+
+[thrift-gen]
+workdir: %(pants_workdir)s/apache_thrift
+
+supportdir: bin/thrift
+version: 0.5.0-finagle
+
+java: {
+    'gen': 'java:hashcode',
+    'deps': {
+      'service': [],
+      'structs': []
+    }
+  }
+python: {
+    'gen': 'py:newstyle',
+    'deps': {
+      'service': [],
+      'structs': []
+    }
+  }
+
+
+[java-compile]
+workdir: %(pants_workdir)s/javac
+args: []
+warning_args: []
+no_warning_args: []
+
+
+[scala-compile]
+workdir: %(pants_workdir)s/scalac
+args: []
+warning_args: []
+no_warning_args: []
+
+
+[parse]
+headers: [
+    'from twitter.pants_internal.build_environment.build_file_context import *',
+  ]

The only bit that should be required today is the pants.ini [parse] section to enable my plugins.

It's well known there is cleanup needed for pants config; this issue just provides some concrete data.

benjyw commented 10 years ago

I'm cleaning up config+flags now, so this is an excellent data point. Thanks!

ericzundel commented 7 years ago

we now have decent defaults for options throughout the system.