Coder Social home page Coder Social logo

sling-ide-tooling's Introduction

Apache Sling

Build Status Sonarcloud Status License

Apache Sling IDE Tooling

This module is part of the Apache Sling project.

For using the IDE tooling, please see the Sling IDE Tooling documentation page.

Repository structure

The modules are split into distinct sub-trees

  • shared
  • cli
  • eclipse

to ensure that the reusable code is available for usage in other IDEs or environments.

The modules placed under shared/modules should bring as few external dependencies as possible, and must not depend on IDE-specific APIs, such as Eclipse or OSGi. However, all modules come with OSGi bundle headers and provide even some OSGi DS components.

The modules placed under eclipse may depend on any Eclipse-specific APIs.

To make the shared modules consumable by the Maven + Tycho toolchain, a separate shared/p2 sub-tree contains a Maven + Tycho build which creates a p2 update site. That update site in turn is consumed by the eclipse build.

Building the Sling IDE Tooling for Eclipse

This howto assumes that you are running Eclipse Oxygen or later with the Plug-In Development Environment and Maven features installed. You should have previously built the projects using

./build.sh

to ensure that Maven artifacts which are not available on p2 update sites are included in the workspace.

To start with, import all the projects in Eclipse as Maven projects. Eclipse might prompt you to install an additional m2eclipse configurator for PDE projects, as it's needed for bridging between Maven and PDE projects.

After the projects are imported, you need to set your target environment to ensure that all dependencies are met and that you are working against the project's declared baseline. To do that, open the following file in Eclipse

target-definition/org.apache.sling.ide.target-definition-dev.target

In the target editor which appears, click 'Set as Target Platform'. Once the target platform is set up, you can create a new launch configuration.

NOTE: if you don't see a target editor, but an XML editor, try right-clicking on the file and choosing File -> Open With -> Target Editor. If you don't see that option, you don't have PDE installed.

Now you can use the 'Sling IDE Tooling' launch configuration which is present in the org.apache.sling.ide.target-definition project to launch a local instance of Eclipse with Sling IDE Tooling plug-ins picked up from the local workspace.

Due to the unclear future of https://github.com/tesla/m2eclipse-tycho (compare with eclipse-m2e/m2e-core#605) for the time being the pom.xml configuration is duplicated in the project settings (which is checked in)

sling-ide-tooling's People

Contributors

bdelacretaz avatar klcodanr avatar kwin avatar oliverlietz avatar raducotescu avatar rombert avatar schaefa avatar stefan-egli avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.