Add ivy as a dependency to WAR and GO #387

Closed
gitblit opened this Issue Aug 12, 2015 · 4 comments

Comments

Projects
None yet
2 participants
@gitblit
Owner

gitblit commented Aug 12, 2015

Originally reported on Google Code with ID 91

This is an enhancement request to get ivy as a dependency.

What this will allow is for any custom-built hooks that are written in Groovy to take
advantage of Groovy Grape (http://groovy.codehaus.org/Grapes+and+grab())

This is a very nice feature, because then people can write custom hooks for any reason,
while still using 3rd party libraries (from maven, for example), and not have an impact
on gitblit as a whole.

An example would be to add RESTful calls to a server.  I can add the following code:


@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.2'
)
private void grabDependencies() {}

new RESTClient('http://some.server.here/').post('/my/path', body: [parameter: 'value'])

I realize that this code operates somewhat slowly for the first execution (since it's
d/l the jars) - but maybe we can work around that by pre-scanning installed hooks.

Reported by johnedc on 2012-04-25 14:26:09

@gitblit

This comment has been minimized.

Show comment Hide comment
@gitblit

gitblit Aug 12, 2015

Owner
This is a good idea.

Let's skip download optimizations until it becomes a problem.  We probably want to
control the local ivy cache/artifact folder with a setting.  If blank we use the ivy
default.  I expect we can specify the cache folder at binding time or, at worst, just
before instantiation of the GSE in GitServlet.

Reported by James.Moger on 2012-04-25 16:45:29

  • Status changed: Accepted
  • Labels added: Milestone-1.0.0
Owner

gitblit commented Aug 12, 2015

This is a good idea.

Let's skip download optimizations until it becomes a problem.  We probably want to
control the local ivy cache/artifact folder with a setting.  If blank we use the ivy
default.  I expect we can specify the cache folder at binding time or, at worst, just
before instantiation of the GSE in GitServlet.

Reported by James.Moger on 2012-04-25 16:45:29

  • Status changed: Accepted
  • Labels added: Milestone-1.0.0
@gitblit

This comment has been minimized.

Show comment Hide comment
@gitblit

gitblit Aug 12, 2015

Owner
I agree, lets skip the optimization, as one can likely overcome them with "Advanced
Configuration" listed on http://groovy.codehaus.org/Grape (customizing ~/.groovy/grapeConfig.xml).

As for the default cache/artifact directory, we should be able to set the system property
"grape.root=/repo/grape" to take care of that.  We can likely copy a gitblit setting
to a system property for the Groovy environment (so we don't have to rely on system
properties).

Reported by johnedc on 2012-04-25 20:23:23

Owner

gitblit commented Aug 12, 2015

I agree, lets skip the optimization, as one can likely overcome them with "Advanced
Configuration" listed on http://groovy.codehaus.org/Grape (customizing ~/.groovy/grapeConfig.xml).

As for the default cache/artifact directory, we should be able to set the system property
"grape.root=/repo/grape" to take care of that.  We can likely copy a gitblit setting
to a system property for the Groovy environment (so we don't have to rely on system
properties).

Reported by johnedc on 2012-04-25 20:23:23

@gitblit

This comment has been minimized.

Show comment Hide comment
@gitblit

gitblit Aug 12, 2015

Owner

Reported by James.Moger on 2012-04-27 21:31:59

  • Status changed: Queued
Owner

gitblit commented Aug 12, 2015

Reported by James.Moger on 2012-04-27 21:31:59

  • Status changed: Queued
@gitblit

This comment has been minimized.

Show comment Hide comment
@gitblit

gitblit Aug 12, 2015

Owner
Resolved in v1.0.0.

Reported by James.Moger on 2012-07-14 04:44:17

  • Status changed: Done
Owner

gitblit commented Aug 12, 2015

Resolved in v1.0.0.

Reported by James.Moger on 2012-07-14 04:44:17

  • Status changed: Done

@gitblit gitblit closed this Aug 12, 2015

@fzs fzs modified the milestone: 1.0.0 Dec 13, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment