Git Product home page Git Product logo

gradle-glu-plugin's People

Contributors

ghale avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gradle-glu-plugin's Issues

Override script in Application.generate()

There are cases when you might want to dynamically generate the script URL. Consider the following:

environments.each { env ->
    model merge(applications.myApp.generate {
        <-- snip -->
        script applications.myApp.script + "?cp=http://myserver/${environment}/myScript.jar"
    })
}

This is not currently possible because Application.generate() uses the instance variable for script.

Task rules create extra tasks

This can be shown by the output:

./gradle.sh deployBlahBlah
:deployBlahBlah FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':deployBlahBlah'.
> Cannot get property 'server' on null object

Note, here, that there is no fabric called blahBlah. Instead, I believe, we should only be creating tasks that have valid fabrics. Even though this seems harmless, it does seem to create actual problems:

* What went wrong:
A problem occurred evaluating script.
> Cannot add task ':glu-scripts:deployMent' as a task with that name already exists.

This appears to be caused by adding:

configurations {
    deployment
}

Allow Json Closure in Application.generate()

It is much more convenient to use the json closure notation as in:

applications.myApp.generate({
agents('myagent1' : [])
initParameters(initParam1: "xxx",
initParam2: "yyy")
})

, rather than:

applications.myApp.generate([
['agents': ['myagent1' : []]],
['initParameters': ['initParam1': "xxx",
'initParam2': "yyy"]]]
})

Add callback capabilities for deployment status

This would be to allow for customized processing of status during the deployment. By default, the current action (output progress as "steps X of Y completed" would be executed). This would allow that action to be overridden with a closure that would execute a custom action. There would be a hook for the polling interval while the execution is in progress and one for the output once the deployment is done. For instance:

deploy {
withDeploymentPollingAction { String executionId, Command command ->
... do something interesting at every polling interval ...
}

withDeploymentCompleteAction { String executionId, Command command ->
... do something interesting at the end of the deployment ...
}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.