commons
commons copied to clipboard
Contribution Process
I'm working on a mavenized fork of a few packages in the Commons library with some commits that add a bit of functionality to ZooKeeperMap. Some of these changes, such as dispatching fired watch events to interested listeners rather than just silently updating the map, might be interesting to other users. I'd be happy to contribute them back.
I notice that there are only a couple commits to the ZooKeeper package, most of which seem to be whole-file changes or huge commits changing about 500 files with thousands of additions / deletions each. Is Twitter interested in accepting pull requests for well-tested, thoughtful changes to components of these projects?
Thanks,
– Scott
Yeah - we push as a squash commit, so the 100s of changes internally look like big single changes on github. We definitely are happy to field pull requests and accept patches, although we would prefer keeping the build system as-is though. I do need to get the wiki populated with docs. Clearly thats a big problem. Have you tried / figured out build / test?
- compile and run all tests ./pants tests/java/com/twitter/common:all!
- find all java targets $ ./pants list -d src/java tests/java src/java/com/twitter/common/application/BUILD:action src/java/com/twitter/common/application/BUILD:application src/java/com/twitter/common/application/http/BUILD:http src/java/com/twitter/common/application/modules/BUILD:applauncher src/java/com/twitter/common/application/modules/BUILD:http src/java/com/twitter/common/application/modules/BUILD:lifecycle src/java/com/twitter/common/application/modules/BUILD:log src/java/com/twitter/common/application/modules/BUILD:stats src/java/com/twitter/common/application/modules/BUILD:stats_export src/java/com/twitter/common/application/modules/BUILD:thrift src/java/com/twitter/common/args/BUILD:apt src/java/com/twitter/common/args/BUILD:args src/java/com/twitter/common/base/BUILD:base src/java/com/twitter/common/checkstyle/BUILD:checkstyle src/java/com/twitter/common/collections/BUILD:collections src/java/com/twitter/common/inject/BUILD:inject src/java/com/twitter/common/inject/BUILD:timed src/java/com/twitter/common/io/BUILD:io src/java/com/twitter/common/io/BUILD:streamer src/java/com/twitter/common/io/BUILD:thrift src/java/com/twitter/common/io/BUILD:json src/java/com/twitter/common/logging/BUILD:logging src/java/com/twitter/common/logging/BUILD:buffered src/java/com/twitter/common/logging/BUILD:scribe src/java/com/twitter/common/memcached/BUILD:memcached src/java/com/twitter/common/memcached/BUILD:thrift-transcoder src/java/com/twitter/common/net/BUILD:dynamic-host-set src/java/com/twitter/common/net/BUILD:util src/java/com/twitter/common/net/BUILD:url-resolver src/java/com/twitter/common/net/BUILD:pool src/java/com/twitter/common/net/http/BUILD:http src/java/com/twitter/common/net/http/handlers/BUILD:text src/java/com/twitter/common/net/http/handlers/BUILD:string-template src/java/com/twitter/common/net/http/handlers/BUILD:handlers src/java/com/twitter/common/net/http/handlers/BUILD:thrift src/java/com/twitter/common/net/http/handlers/BUILD:time-series src/java/com/twitter/common/objectsize/BUILD:objectsize src/java/com/twitter/common/quantity/BUILD:quantity src/java/com/twitter/common/stats/BUILD:stats-provider src/java/com/twitter/common/stats/BUILD:stats src/java/com/twitter/common/stats/BUILD:jvm src/java/com/twitter/common/stats/BUILD:time-series src/java/com/twitter/common/stats/BUILD:util src/java/com/twitter/common/testing/BUILD:testing src/java/com/twitter/common/text/BUILD:text src/java/com/twitter/common/thrift/BUILD:thrift src/java/com/twitter/common/thrift/BUILD:testing src/java/com/twitter/common/thrift/text/BUILD:text src/java/com/twitter/common/util/BUILD:logging src/java/com/twitter/common/util/BUILD:util src/java/com/twitter/common/util/BUILD:system-mocks src/java/com/twitter/common/util/BUILD:sampler src/java/com/twitter/common/util/BUILD:kestrel src/java/com/twitter/common/util/BUILD:testing src/java/com/twitter/common/util/caching/BUILD:caching src/java/com/twitter/common/zookeeper/BUILD:zookeeper src/java/com/twitter/common/zookeeper/BUILD:testing tests/java/com/twitter/common/BUILD:small tests/java/com/twitter/common/BUILD:medium tests/java/com/twitter/common/BUILD:large tests/java/com/twitter/common/BUILD:all tests/java/com/twitter/common/BUILD:all-tests tests/java/com/twitter/common/application/BUILD:application tests/java/com/twitter/common/args/BUILD:small tests/java/com/twitter/common/args/BUILD:medium tests/java/com/twitter/common/args/BUILD:all tests/java/com/twitter/common/args/BUILD:args tests/java/com/twitter/common/base/BUILD:base tests/java/com/twitter/common/collections/BUILD:collections tests/java/com/twitter/common/inject/BUILD:inject tests/java/com/twitter/common/io/BUILD:io tests/java/com/twitter/common/logging/BUILD:logging tests/java/com/twitter/common/memcached/BUILD:memcached tests/java/com/twitter/common/net/BUILD:net tests/java/com/twitter/common/net/http/handlers/BUILD:handlers tests/java/com/twitter/common/objectsize/BUILD:objectsize tests/java/com/twitter/common/quantity/BUILD:quantity tests/java/com/twitter/common/stats/BUILD:stats tests/java/com/twitter/common/testing/BUILD:testing tests/java/com/twitter/common/testing/BUILD:test-basedir-test tests/java/com/twitter/common/text/BUILD:text tests/java/com/twitter/common/thrift/BUILD:thrift tests/java/com/twitter/common/util/BUILD:util tests/java/com/twitter/common/util/caching/BUILD:caching tests/java/com/twitter/common/zookeeper/BUILD:small tests/java/com/twitter/common/zookeeper/BUILD:medium tests/java/com/twitter/common/zookeeper/BUILD:large tests/java/com/twitter/common/zookeeper/BUILD:all tests/java/com/twitter/common/zookeeper/BUILD:zookeeper
- just build and test zk $ ./pants list -d tests/java/com/twitter/common/zookeeper tests/java/com/twitter/common/zookeeper/BUILD:small tests/java/com/twitter/common/zookeeper/BUILD:medium tests/java/com/twitter/common/zookeeper/BUILD:large tests/java/com/twitter/common/zookeeper/BUILD:all tests/java/com/twitter/common/zookeeper/BUILD:zookeeper $ ./pants tests/java/com/twitter/common/zookeeper:all!
- just test ZKMap $ ./pants tests/java/com/twitter/common/zookeeper:all! -Dtest=com.twitter.common.zookeeper.ZooKeeperMapTest
- create an intellij project to dev on this (kicks out common.ipr & common.iml) - requires IvyIDEA is installed - resolve all modules after you open the project and you're in business: $ ./pants idea tests/java/com/twitter/common:all -n commons
- ditto eclipse - import the project, must have IvyDE plugin $ ./pants eclipse tests/java/com/twitter/common:all -n commons