Commit Graph

40 Commits

Author SHA1 Message Date
R. Tyler Croy dafe339ba3
Add some default/empty properties 2015-08-14 20:49:56 -07:00
R. Tyler Croy 88aede0bc6
Add necessary support to release on tag creation 2015-08-14 20:43:06 -07:00
R. Tyler Croy 2c508208df
I'm really not good at docs today 2015-08-13 17:55:11 -07:00
R. Tyler Croy e40db7d610
Oh right, this is asciidoc 2015-08-13 17:54:44 -07:00
R. Tyler Croy a67e98b65f
Travis badge 2015-08-13 17:52:33 -07:00
R. Tyler Croy 2a5b25db8b
Missed a namechange in README 2015-08-13 17:49:32 -07:00
R. Tyler Croy 9aa8039c7b
Add Travis CI 2015-08-13 17:48:32 -07:00
R. Tyler Croy 9ef45c46cf Merge pull request #4 from rtyler/joe
Convert the nascent Jem code into Java
2015-08-13 17:48:35 -07:00
R. Tyler Croy f4bec5e5c8
Move everything into src/main/java 2015-08-13 17:33:47 -07:00
R. Tyler Croy 65fd115fa3
Convert the nascent Jem code into Java
Fixes #1
2015-08-13 17:31:40 -07:00
R. Tyler Croy 55fc37d9cf Merge pull request #2 from aslakknutsen/export_exploded
Export complete data.tar.gz file via ShrinkWrap ExplodedExporter
2015-08-12 15:10:15 -07:00
Aslak Knutsen 5e216e23ba Export complete data.tar.gz file via ShrinkWrap ExplodedExporter 2015-08-12 23:55:17 +02:00
R. Tyler Croy bbbbd5b968
Add gzipped resources 2015-08-11 21:25:14 -07:00
R. Tyler Croy 4d54c1b3dd
Move things to the jem namespace and switch to using 100% shrinkwrap 2015-08-11 21:24:39 -07:00
R. Tyler Croy cf994df37f
Refactor the directory naming code inside GemInstaller into a single method 2015-08-10 06:39:25 -07:00
R. Tyler Croy 9cf391298c
Move all Gem::Specification creation through the sanitize() method for stringies 2015-08-10 06:25:38 -07:00
R. Tyler Croy b996ac73fc
Properly support gems which have a specific platform associated with them
e.g. thread_safe
2015-08-10 06:07:35 -07:00
R. Tyler Croy 767161e069
Only attempt to copy the bindir if it actually exists in our data.tar.gz
In commons-vfs 2.1-SNAPSHOT it appears that .getChild() is returning null
instead of raising a FileNotFoundException when the bindir isn't present. I
might be referring to outdated docs, but this resolves the issue and makes sure
there are not NPEs raised
2015-08-10 06:07:35 -07:00
R. Tyler Croy b4bfafcb45
Make sure we're closing and deleting our file objects when we're done with them
I saw some odd behavior with redundant `data.tar.gz` file objects being created
for the same filesystem manager in consecutive iterations. The two ways we
avoid this, now, is by namespacing the data.tar.gz VFS but also by closing and
deleting after we're done.

An alternative would be to create a new FileSystemManager for each gem, but I'm
not sure if that's useful/worth it.
2015-08-10 06:07:35 -07:00
R. Tyler Croy bdbb118c78
Wire the internal GemInstaller implementation into the public API 2015-08-10 06:07:35 -07:00
R. Tyler Croy 016272f240
If a description has quotes in it we need to escape it
Otherwise we might generate some invalid specifications!
2015-08-10 06:07:35 -07:00
R. Tyler Croy e9b017db2c
Email in some specifications can be an array apparently
There might be a better way to fix this with jackson and specify a collection
of valid types, but as of right now I'm not aware of how to accomplish that
2015-08-10 05:37:21 -07:00
R. Tyler Croy 699939f0b6
Put our artifact under a group so we can publish 2015-08-10 05:36:42 -07:00
R. Tyler Croy 34b6e0c2e6
Extract specifications and executables from the gem package 2015-08-09 17:25:34 -07:00
R. Tyler Croy 9eb78bba76
Implement toRuby() which will generate a .gemspec file just like a gem install 2015-08-09 17:24:48 -07:00
R. Tyler Croy 2a8d3d1ad0
Avoid extracting data.tar.gz to /tmp on the filesystem
commons-vfs2 has a ram:// protocol, let's just use that!
2015-08-09 17:04:00 -07:00
R. Tyler Croy 19eba647ee
Use a snapshot version of commons-vfs and extract the gemspec from the gem properly 2015-08-09 15:49:43 -07:00
R. Tyler Croy 5cef41e08f
Starting to implement install() by plopping the gem into the cache/ directory 2015-08-09 13:00:47 -07:00
R. Tyler Croy acdf4b78e5
Implementing internal.GemInstaller which handles the actual installation work 2015-08-09 10:31:34 -07:00
R. Tyler Croy 6892f12f0a
Starting to flesh out the GemInstaller class 2015-08-08 19:26:17 -07:00
R. Tyler Croy 1135eab0ac
Build out groovydocs and sources jars for our assemble tasks 2015-08-08 18:35:21 -07:00
R. Tyler Croy f7c756839c
Clean up some minor codenarc complaints 2015-08-08 18:35:17 -07:00
R. Tyler Croy 14cc95fa9e
Add the raw thor gem 2015-08-08 18:34:43 -07:00
R. Tyler Croy 229d7beb22
Add a basic README 2015-08-08 18:08:19 -07:00
R. Tyler Croy 1f2b39695a
Properly process a metadata.gz into a Gem instance 2015-08-08 18:04:06 -07:00
R. Tyler Croy 1db06dc70f
Add some gzipped versions of test fixtures, which are inside the gem tar 2015-08-08 18:02:47 -07:00
R. Tyler Croy 8b1d453484
Starting to implement POGO for Gem::Specification and co 2015-08-08 16:13:55 -07:00
R. Tyler Croy e2f245881a
Add unpacked thor gem as a test fixture 2015-08-08 15:16:22 -07:00
R. Tyler Croy 019f0da204
Start adding some code, basics to make codenarc/groovy/spock work together 2015-08-08 14:24:19 -07:00
R. Tyler Croy dabb493f65
Initial commit 2015-08-08 14:07:51 -07:00