I'm developing grails application and I also created a plugin and packaged it as zip.
I develop on two computers - one at work, one at home. I'd like to embed this plugin somehow in project (lib folder maybe?), so I could commit it with application to repo and then on another machine during dependecy refresh grails could install this plugin.
Is it possible?
Related
we are following plugin architecture, so we are having other projects which can plugin into the main web application.
Folder structure:
--MVC Application
-- bin
--Plugins
-- Plugin1
-- dlls
-- Plugin2
--dlls
When I published my MVC application to Azure App service.The dlls present in the main web application only got copied.How can I move the dlls present in my plugins folder.
When I try to run the application it is not loading the scripts and dlls present in other plugin folders.
Can some one please let me know how can I solve the issue and these plugins are dynamic.
Based on the post build event, we are copying the dlls and scripts to respective plugin folders.
I had installed the Flexible Publish Plugin through the Jenkins Web module by marking it for Install without restart option. The plugin installation went fine. The real trouble is when you want to uninstall the application.
Jenkins web module is not letting me uninstall or disable this plugin because of a dependency tree that has been created.
Flexible Publish Plugin
|_ Artifactory Plugin
AFAIK, the Artifactory Plugin was installed even before I installed Flexible Publish Plugin but still it is showing up as a dependency for Flexible Publish Plugin.
Is there any other workaround to uninstall the plugin?
NOTE : I couldn't find any .hpi or .jpi file corresponding to Flexible Publish Plugin so I am not able to disable the plugin manually from the folder as well.
tomcat/webapps/jenkins/WEB-INF/plugins contains just *.hpi.
~/.jenkins/plugins contains *.jpi.
See Jenkins – The Definitive Guide, The Jenkins Home Directory:
By default, the Jenkins home directory will be called .jenkins, and will be placed in your home directory.
I've created new grails plugin with this quick start reference.
How could I install it to local and remote repository to make it available for other plugins to depend on.
Thanks.
If you are creating a grails "plugin", you should be referring to this information instead. The one you are referring is for creating a Grails Application.
Gist:
Grails app (one you are referring to) creates a deployable component which can be deploed to any container and accessed. On the other hand, grails plugins are extension/modules that are created and maintained separately. packaged as zip and are plugged to any Grails Application when required.
If you are creating a grails plugin and want to push it to local/remote repositories, you need to use the release plugin which comes inside a plugin by default.
grails maven-install
The command is taken from release plugin to push your plugin to local maven repositories, if you have any.
I downloaded and installed the paypal plugin http://www.grails.org/PayPal+Plugin using netbeans. Though the website mentioned there will be a controller and domain class created. However, I don't see it. Can someone advice if I installed correctly?
The Controller and domain class are located within the plugin itself. Browse the source of the plugin to see them.
The plugin is probably located in a hidden directory under your profile. Not the Netbeans project folder. For instance on grails 2.0 on Linux:
/home/user/.grails/2.0.0.M2/projects/testapp/plugins/paypal-0.6.4.
Each plugin is like a complete project with directory structure.
Your project has use of the plugin when it's installed, and includes it when you build it.
This has been very upsetting for me up till now. Here is what I am trying to do:
IDE I'm using is Intellij IDEA.
Building a grails application.
Grails application specifies two dependencies on in house grails plugins also being developed in IntelliJ as separate grails plugin projects.
Now to make any changes to plugins, I update the source code in plugin projects and use mavan-install (Maven Publisher plugin) to deploy to local Maven repository.
I have to uninstall the plugin in core grails project. Delete the plugin cache from ivy and then run the core grails project which gets the latest copy of plugin from local maven repository.
What's the effective and ideal way to achieve this? A single change makes me do some 5 minutes of labour work to even test and run core application.
Any recommendations/ best practices?
Use inline plugins for this - see section "Specifying Plugin Locations" in http://grails.org/doc/latest/guide/12.%20Plug-ins.html#12.1%20Creating%20and%20Installing%20Plug-ins
By specifying the plugin project directory with grails.plugin.location.<plugin-name> as the location of the installed plugin, you can edit the real files and the changes will affect the test application, and there's no need to sync anything up.