Archive
My favorite Free/Open Source Intellij Community plugins
Suggestions for other/better Free/Open Source plugins for current Intellij CE are welcome:
- Maven Helper
- Git .ignore support
- Bash Support
- PlantUML integration
- String Manipulation
- YAML/Ansible support
- AsciiDoc support
- BrowseWordAtCaret
- Grep Console
Continuous delivery using github, travis-ci and bintray
Let’s say you work on a Java application and want to frequently make it available for download so that user’s can easily try the latest version.
Let’s say you work primarily on your laptop or personal computer using a Java IDE and commit code changes, but you don’t want to spend time manually building jars, packaging war or zip files, testing your application or uploading files to a website, etc.
Instead you want to have a fully automated process that compiles your source code, runs automated tests and other quality control mechanisms, builds your application and uploads the result to a public website.
But you don’t want to install any infrastructure for this and not run anything besides Java and your IDE on your own machine(s).
Basically you want to use developer-friendly reliable cloud services but you don’t want to pay a single cent.
All of this is possible, as long your code is Open Source:
- Host your source code on github
- Let travis-ci run vour build process
- Let travis-ci upload the build result to bintray
For details, you can take a look at one of my github projects.
Relevant config files:
Java software engineering – reference resources
Official Java and JEE
Java language spec and JVM spec
Java community
Trending Java projects on github
JEE and Java web servers
Build and test automation
Source and version control
Java IDEs
Create single copyright holder, GPL licensed source code repository
I sometimes want to create a source code repository and build process for a GPL licensed software project, where the sole copyright holder (“owner”) is a single legal entity, like a company or a foundation.
This is how I do it:
- Link to the license from README.md (e.g. the Free Software Foundation’s GPL, version 2)
- At top of each source file: Copyright notice, license statement, warranty disclaimer
- Include a plain-text copy of the full license in the root of your distributable package(s)
- In the README.md, indicate that the project mandates copyright assignment
- Define the legal agreement process between code contributors and the project owner
The GPL was chosen for its strong copyleft nature and combined with the sole copyright holder approach to enable dual licensing business models.
On sites like github, the code contribution itself is usually done by pull request. The legal agreement process between code contributor and project owner should be complete before the pull request is accepted.
I am not yet sure how to best automate updating the year range in the copyright notice, probably at commit time.
Subversion 1.8 released
The new Subversion 1.8 features look quite good for a centralized Version Control System (VCS).
But note that the Subversion 1.8 working copy format is backwards-incompatible. Some tools like recent TortoiseSVN versions will use the 1.8 format by default which will cause compatibility problems for IntelliJ and any other tools that do not yet support it.
So for now, it is probably better to stick with 1.7 and wait until all your tools fully support 1.8. For IntelliJ you might want to watch [IDEA-94942] for status updates.
Personally, I am more interested in Git anyway because it offers all the flexibility of a decentralized VCS. I am reading the free “Pro Git” ebook on my Kobo eReader (epub format).
Sharing repos via Git daemon on Windows
I started using Git on Windows, exposing my repositories to team members via git daemon
.
I followed this very useful tutorial.
Recent Comments