Git Product home page Git Product logo

carbon-products-development-environment's Introduction

WSO2 Carbon Platform Developer Environment

The aim of this project is to automate setting up development environments for Carbon Products.

In essence, this project:

  • creates a CentOS guest
  • sets up up XRDP remote desktop server
  • sets up up maven, subversion, java
  • checks out carbon source
  • performs mvn clean install (on chunk-05)
  • performs mvn eclipse:eclipse (on chunk-05)
  • creates an eclipse workspace and imports the projects

Quick Start Example (linux)

$ git clone https://github.com/snowch/carbon-products-development-environment
$ cd carbon-products-development-environment
$ vagrant plugin install vagrant-cachier
$ vagrant plugin install vagrant-vbguest
$ vagrant plugin install vagrant-triggers
$ vagrant up
$ rdesktop -u vagrant -p vagrant localhost:4480

Detailed Instructions

Prerequisites

Install the following software:

It is recommended to install the vagrant plugins using vagrant plugin install ...:

  • vagrant plugin install vagrant-cachier
  • vagrant plugin install vagrant-vbguest
  • vagrant plugin install vagrant-triggers

This project has been tested with 6GB memory settings. If you want to try with lower memory requirements, try changing this line in the Vagrantfile:

vb.customize ["modifyvm", :id, "--memory", "6144"]

Issues

  • Proxy support is untested and not documented. If you are working behind a proxy, please let me know and I can focus on improving proxy support. If you don't want to wait for me, you will need to do both of these:
  • There are a number of build errors in eclipse.

Usage

Checkout this project, e.g.

$ git clone https://github.com/snowch/carbon-products-development-environment

Change into the project directory, e.g.

cd carbon-products-development-environment

Start the guest machine, e.g.

vagrant up

Wait. Wait. Wait. Checking out the source and building it can easily take a few hours or more to finish.

When you see:

******************************************************************************************
* FINISHED SETTING UP DEVELOPMENT ENVIRONMENT - Performing 'vagrant reload' to reboot    *
******************************************************************************************
[carbon] Configuring cache buckets...
[carbon] Running triggers after action...
[carbon] Executing command "vagrant reload"...

... you can use a Remote Desktop Client to connect to the machine from the host, e.g.

  • Windows: Remote Desktop Client, set Computer: localhost:4480
  • Linux: rdesktop localhost:4480

Remote Desktop details:

  • Hostname: localhost:8080
  • Username: vagrant
  • Password: vagrant

Description

The environment is setup with shell scripts.

The scripts are executed in the order they are found in the Vagrantfile. Scripts are executed by this statement:

carbon.vm.provision "shell", path: "scriptpath/scriptname.sh"

The scripts can be found in the scripts folder.

Screenshot

After vagrant up has completed, you can open eclipse using the desktop icon. Your environment is setup for you. Eclipse will be trying to build.

Also shown is mvn clean install typed into a shell window. Nothing else needed to be done except open the Terminal (under System Tools).

alt tag

How to remove

The nice thing about Vagrant is that it will not mess with your existing java environment. When you have had enough of the development environment, all you need to do to remove is the following:

  • Perform vagrant destroy from the same directory that you ran vagrant up.
  • Uninstall Vagrant
  • Uninstall Virtualbox

carbon-products-development-environment's People

Contributors

snowch avatar

Watchers

 avatar  avatar

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.