R. Tyler Croy
0f7c0c94e4
Add support for a GemInstallEvent callback
...
Fixes #6
2015-09-19 16:12:49 -07:00
R. Tyler Croy
b149a654e7
Clean up some javadocs to ameliorate failuresi n travis
...
Somehow the version of the JDK in travis errors with some of these but not
locally :(
2015-09-18 15:31:15 -07:00
R. Tyler Croy
774cd380b2
oraclejdk7 is EoLed as far as I'm concerned
2015-09-18 15:03:47 -07:00
R. Tyler Croy
172557e0be
Allow passing overwrite behavior through the GemInstaller
2015-08-21 18:32:52 -07:00
R. Tyler Croy
53d6dfed39
Properly delete directories while on test teardown
2015-08-21 18:04:12 -07:00
R. Tyler Croy
963ed7c59e
Avoid caching gem files unnecessarily
...
Fixes #5
2015-08-21 17:53:07 -07:00
Christian Meier
f1641a3a18
added a JemClassLoader which can "add" jem on the fly
2015-08-15 20:23:03 +02: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
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
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
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
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