Reuse Bitbucket instance when developing multiple plugins - bitbucket-server

I am looking into bitbucket server plugin development and using atlas on mac. From what I understand in the tutorials, you write your code and run atlas-run to execute - but this downloads the entire bitbucket application.
Is there a way to download this implementation once and share among plugins for development? Or to tell atlas the location of the shared instance?

As I mentioned in my comment the download process relies on maven repository find ~/.m2/repository/com/atlassian/ -name \*.war returns
~/.m2/repository/com/atlassian//bitbucket/server/bitbucket-webapp/5.5.2/bitbucket-webapp-5.5.2.war
So as long as you use the same maven repo and use the same BB version it will reuse the existing war file from the maven repo

Related

outside lib in GitHub

I just recently used Github, and when I was trying to upload my java project I realized that I was using some external libraries like apahce poi in this project, and these files have to be stored in libs for my application to function, do I need to upload these files because I realize that might violate some issues(maybe ?).
If yes, then what is the correct way to upload or maybe just post a link to those dependency
Use a tool that provides a dependency management system such as Maven or Gradle (these are both common choices in the Java ecosystem). Your project will then include a configuration file that Maven or Gradle will use to download dependencies so you don't need to distribute them with your project.

embedded maven remote repository

I am writing a scala client that should perform several reads from maven remote repository (dependency tree evaluation).
To perform e2e tests to my code I need a running maven repository (artifactory, nexus, archiva etc...) with several artifacts deployed.
I am looking for a way I can use test utility that will allow me to start embedded server with code configured artifacts and dependency relationship. That way I can set it up just before my test, use it and stop it.
If possible - I want to avoid using filesystem
Of course - that library can be either scala or java
There is a MockRepositoryServer in the Mojohaus project run by the Maven committers and others that does what you need. It is specifically designed for that exact testing purpose.
You can also use a full blown Nexus Repository Manager in a local install. Either will work.

How to use multiple alfresco AMP file in eclipse

I have created one Alfresco project in Eclipse. I want to use one uploader-plus AMP file in my newly created Alfresco project in Eclipse.
How can I achieve this?
can we use multiple amps in single alfresco project in eclipse or can we create single amp file by combining 2 different amp files???
Independently from the IDE you are using, it is possible to setup an All-In-One project to fetch and apply several extra amps before starting up (either from a local or a remote maven repo) :
Create a new amp (Optional)
Build a release for your amp (Optional)
Add dependency for your amp in your project (You may need to add a repository as well)
Add an overlay for your amp to either share or repo (depending on the nature of your amp)
Run and enjoy
To learn more about this process please check the official documentation here
UPDATE : In the case of uploader-plus amps, you need either to fetch projects from here and install them locally (using mvn clean install) or add reference in your pom to this maven repo :
https://oss.sonatype.org/content/repositories/releases/ but I can see only v1.2 is released there so you probably would want to stick to option 1 !

Coldfusion deployment process

I am trying to figure out what's the best process to implement for build & deployment for coldfusion project.
I am much more familiar with the regular java stack: some back-end framework (Spring, Struts, etc), bunch of JSP files, then use maven to compile and bundle everything to a .war file that I simply deploy (copy) over to a tomcat webapp directory
Are cfm files practically same as jsp? What are the similarities & differences between Java vs Coldfusion build/deploy process?
The resources I found so far make it sound like to just copy & paste the physical files, which doesn't sound quite right.
The thread here Best Practices for Code/Web Application Deployment? - goes on the generic deployment process, which we already have implemented. We have code repository and maven to manage our build & deployment process, can coldfusion work straight out of the box with the same set up as regular Java/war projects?
A thread in Adobe forum does not give much insights either: Deploying ColdFusion 8 project via EAR/WAR file, plus it talks about EAR rather than WAR.
This is an old link from 2007: build tools: maven and coldfusion seem to indicate maven is not straight out of the box solution, also seems like Coldfusion has no need for dependency management that maven is so useful for?
Can someone help point me to the right direction for build & deployment of coldfusion projects with the following stack:
Code repository, doesn't matter much: Git, svn
Maven build
Deploy project as war into Tomcat7 (not built in)
MySQL db connector
and Lastly - how would the solution be different between CF8 vs CF10? Looks to me CF8 may be worse as it doesn't officially support Tomcat, whereas CF10 runs on modified version of Tomcat?
Thanks!
When it comes to deploying CFML out the box then you really just have to copy and paste the file into your web server. In your case if you are using git just pull it from your repository. You don't have to do anything other then that. However, in some cases you may need to clear your CFML Cache if you don't see the changes immediately. This is my personal process:
Make changes on local machine running a CFML Development environment.
Commit and Push changes to git repository.
Pull changes to Production Server
Clear cache if needed.
It really is simple as that as long as your code makes it that simple.
Answer 1:
I have worked on some substantial apps were the process was zip up all the files, send them to a deployment team and they will unzip at the appropriate location.
Answer 2:
I suspect you are looking for something like CAR files. http://help.adobe.com/en_US/ColdFusion/10.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fd3.html

Installing a Griffon plugin in zip format from private remote url

Somehow I cannot find and answer to this in griffon documentation nor googling...
I have created a griffon plugin. It gets packaged as usual with:
griffon package-plugin
Then I can install it locally in my application specifying path to the zip file resulting from packaging:
griffon install-plugin /path-to-plugin/plugin-name.zip
I can even upload it to a remote url and install it from there:
griffon install-plugin address-of-my-site/plugin-name.zip
How can I make installing of this plugin from my url an automatic step during building/running of a griffon application, which uses it?
I work on the application with another developer and don't want to force him to install the plugin manually every time when something changes. It should be downloaded from my site automatically. But I don't want to release the plugin to the griffon official repository either - it's pretty experimental stuff still.
There is a line in application.properties, which tells griffon, that the plugin is needed:
plugins.plugin-name=0.3
But it cannot be installed from griffon central repository, like all the other plugins, because it's not there, obviously.
I looked into documentation of "griffon.project.dependency.resolution" section in BuildConfig.groovy, but I can't find anything useful for my purposes there.
Do I miss something?
The answer you seek is found in sections 12.1 and 12.2 of the guide. The first section describes an example of a plugin being pushed to a local repository. The second section describes the types of repositories supported by Griffon.
Plugins that are available from a plugin repository that can be queried by the build system (i.e, the repository is configured) are instantly available to be installed using the short notation you want.
There's always a local repository configured by Griffon: griffon-local. Pushing releases to it will make them instantly available to install-plugin, list-plugins, plugin-info, etc.