You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/17 14:44:22 UTC

[sling-site] branch master updated: SLING-7161 - Update site to reference git instead of svn

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-site.git


The following commit(s) were added to refs/heads/master by this push:
     new 98cf678  SLING-7161 - Update site to reference git instead of svn
98cf678 is described below

commit 98cf678fd6c01f7b243b07456eb2055fb33c48d1
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri Nov 17 11:47:07 2017 +0200

    SLING-7161 - Update site to reference git instead of svn
    
    First round of changes, affects the most visible pages.
---
 .../jbake/content/documentation/bundles/models.md  |   6 +-
 .../development/getting-and-building-sling.md      | 147 +++++----------------
 .../development/release-management.md              |   2 +-
 src/main/jbake/content/project-information.md      |  11 +-
 src/main/jbake/templates/menu.tpl                  |   5 +-
 5 files changed, 46 insertions(+), 125 deletions(-)

diff --git a/src/main/jbake/content/documentation/bundles/models.md b/src/main/jbake/content/documentation/bundles/models.md
index e4496ac..31269e5 100644
--- a/src/main/jbake/content/documentation/bundles/models.md
+++ b/src/main/jbake/content/documentation/bundles/models.md
@@ -350,11 +350,11 @@ You can use the attribute `validation` on the Model annotation to call a validat
 
 In case the model is not instantiated an appropriate error message is logged (if `adaptTo()` is used) or an appropriate exception is thrown (if `ModelFactory.createModel()` is used).
 
-The only implementation for this Sling Models validation service is leveraging [Sling Validation](/documentation/bundles/validation.html) and is located in the bundle [org.apache.sling.models.validation-impl](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/validation-impl/). Validation is only working on models which are adapted from either `Resource` or `SlingHttpServletRequest` and if the Sling Validation Bundle is deployed.
+The only implementation for this Sling Models validation service is leveraging [Sling Validation](/documentation/bundles/validation.html) and is located in the bundle [org.apache.sling.models.validation-impl](https://github.com/apache/sling-org-apache-sling-models-validation-impl). Validation is only working on models which are adapted from either `Resource` or `SlingHttpServletRequest` and if the Sling Validation Bundle is deployed.
 
 # Custom Injectors
 
-To create a custom injector, simply implement the `org.apache.sling.models.spi.Injector` interface and register your implementation with the OSGi service registry. Please refer to the standard injectors in [Subversion](http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/injectors/) for examples.
+To create a custom injector, simply implement the `org.apache.sling.models.spi.Injector` interface and register your implementation with the OSGi service registry. Please refer to the [standard injectors in Git](https://github.com/apache/sling-org-apache-sling-models-impl/tree/master/src/main/java/org/apache/sling/models/impl/injectors) for examples.
 
 Injectors are invoked in order of their service ranking, from lowest to highest. See the table below for the rankings of the standard injectors.
 
@@ -441,7 +441,7 @@ Instead of using the deprecated annotation element `optional` you should rather
 
 To create a custom annotation, implement the `org.apache.sling.models.spi.injectorspecific.StaticInjectAnnotationProcessorFactory` interface.
 This interface may be implemented by the same class as implements an injector, but this is not strictly necessary. Please refer to the
-injectors in [Subversion](http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/injectors/) for examples.
+[injectors in Git](https://github.com/apache/sling-org-apache-sling-models-impl/tree/master/src/main/java/org/apache/sling/models/impl/injectors) for examples.
  
 # Specifying an Alternate Adapter Class (since 1.1.0)
 
diff --git a/src/main/jbake/content/documentation/development/getting-and-building-sling.md b/src/main/jbake/content/documentation/development/getting-and-building-sling.md
index a9ec91e..b23bbcf 100644
--- a/src/main/jbake/content/documentation/development/getting-and-building-sling.md
+++ b/src/main/jbake/content/documentation/development/getting-and-building-sling.md
@@ -11,18 +11,14 @@ Note that you don't *have* to build Sling yourself, if you don't need the bleedi
 binaries from the [Downloads](/downloads.cgi) page. But those, especially the launchpad runnable jar, are not released often
 and can be outdated. In case of doubt, build it yourself as shown below or ask on the Sling users mailing list.
 
-Rather than performing a full build of Sling, which can take 5-10 minutes on a recent computer once your local Maven
-repository is up to date, it's recommended to build only the launchpad and the modules you're interested in.
+Note that building the Sling starter application does not rebuild all of the modules contained in it. If you want to
+work on a certain module, you should rebuild it separately.
 
 ## tl:dr - Short form build + run instructions 
+If you already have the required Git client, JDK and Maven installed, here's the short form recipe:
 
-**TODO This needs to be updated due to our move to Git, please ask on our dev list if unsure**
-
-If you already have the required svn (or Git, see below) client, JDK and Maven installed, here's the short form recipe:
-
-    $ svn co http://svn.apache.org/repos/asf/sling/trunk sling 
-    $ cd sling  # you are now in the Sling SVN checkout
-    $ cd launchpad/builder
+    $ git clone https://github.com/apache/sling-org-apache-sling-starter.git
+    $ cd sling-org-apache-sling-starter
     $ mvn --update-snapshots clean install
     $ export DBG="-Xmx384M -agentlib:jdwp..." # (see below)
     $ java $DBG -jar target/org.apache.sling.launchpad... # (see below)
@@ -36,28 +32,10 @@ Before you begin, you need to have the following tools installed on your system:
 * Java 8 or higher
 * [Maven](http://maven.apache.org) 3.3.9 or later; enforced by the Sling parent pom
 
-If you want to set up Eclipse (not required to build Sling) you'll also need the following installed:
-
-* Eclipse (tested with 3.4.2 and 3.5.x on Win XP, SP3, 3.6.x on Win7, 3.7 on MacOS X 10.6); just a plain installation of the platform runtime binary and the JDT will be adequate (you can install the IDE for Java Developers for convenience) 
-* M2Eclipse plugin for Eclipse (sonatype) \-> [instructions](http://m2eclipse.sonatype.org/installing-m2eclipse.html)
-* [Subversive plugin](http://www.polarion.com/products/svn/subversive.php) or [Subclipse-plugin](http://subclipse.tigris.org) for Eclipse
-
-## Environment Setup
-
-The full build process requires quite a lot of resources, so you may run into limits. The following hints should show you what to setup before building Sling.
-
-### Environment Variable Space
-
-* *Problem* \- Build aborts when trying to launch the integration tests with the message
-
-    [INFO] Error while executing forked tests.; nested exception is org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.CommandLineException: Error setting up environmental variables
-    
-    error=12, Not enough space
-
-This problem is caused by insufficient swap space. When running the integration tests in the `launchpad/testing` modules, a process is launched by calling the `exec` system call. This copies the process (copy-on-write, though) and thus allocates as much virtual memory as is owned by the parent process. This may fail if swap space is exhausted.
-
-* *Platform* \- OpenSolaris
-* *Fix* \- If this issue persists you will need to check your system requirements and configuration with regard to swap, before taking action - if necessary.
+If you want to set up an IDE any recent version of a Java IDE with Maven support
+will do just fine. If you're using Eclipse, you can install the
+[/documentation/development/ide-tooling.html](Sling IDE tooling) for some extra
+niceties, but it's not required in any way.
 
 ## Configuring Maven
 
@@ -65,75 +43,40 @@ See [MavenTipsAndTricks](/documentation/development/maventipsandtricks.html).
 
 ## Getting the Sling Source
 
-### From the Apache Sling Subversion repository
-
-0. Install an svn client if needed.
-
-1. Checkout Sling from the Subversion repository
-
-    $ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
-
-### From the Sling GitHub mirror
-
-0. Install a Git client if needed
-
-1. Checkout Sling from the GitHub mirror
+We provide a way of checking out all of the source modules that are used in Sling. Since that's over 2^<super>8</super> repositories, it's based on
+additional tooling.
 
-    $ git clone https://github.com/apache/sling.git
+1. Install a git client if needed and the [Google Repo](https://android.googlesource.com/tools/repo) tool.
 
-### With Eclipse Subversive or Subclipse
-First note how simple the above SVN instructions are...but if you *really* want to do this, read on.
+2. Check out a new repo workspace
 
-If you use the Subversive plugin make sure you have installed the "Subversive Integration for M2Eclipse Project" which can be found under the following Eclipse update site: [http://community.polarion.com/projects/subversive/download/integrations/update-site/](http://community.polarion.com/projects/subversive/download/integrations/update-site/).
+        $ repo init --no-clone-bundle -u https://github.com/apache/sling-aggregator.git
+        $ repo sync -j 16 --no-clone-bundle
 
-Also, make sure that you have installed either the "Maven SCM handler for Subclipse" or the "Maven SCM handler for Subversive".
+3. In your IDE, import the projects you're interested in from the repo workspace.
 
-#### Create a new workspace
-
-It's best to create a new workspace for the sling project:
-
- 1. List item
- 1. Menu: File->Switch Workspace->Other...
- 1. Enter a path for the new workspace and click OK
- 1. When Eclipse has restarted it's time to adjust some configs
- 1. Turn off automatic build (Menu: Project->Build Automatically)
- 1. Go to menu: Eclipse->Preferences, in the preferences dialog select Java \-> Compiler \-> Errors/Warnings
- 1. Expand the "Deprecated and restricted API" and change "Forbidden references (access rules)" from "Error" to "Warning"
- 1. Click OK
-
-#### Checkout the Sling source
-
-1. Menu: File->Import
-1. In the Import wizard select Maven->"Check out Maven Projects from SCM"
-1. Click next
-1. In the "SCM URL" field pick "SVN" and enter the url "http://svn.apache.org/repos/asf/sling/trunk"
-1. Click Finish
-
-Eclipse will now start to download the source and import the Maven projects. You might encounter some "Problem Occured" dialogs about "An internal error...", but just click OK on those and let Eclipse continue with the import. Be warned: This could take some time (it was 30 minutes on my laptop)\!
+## Building Sling
 
-Possibly something in sling-builder might get a bit messed up (I didn't experience that problem, but Pontus reported it) then you can simply fix it with revert:
+We don't yet offer a way of building all the Sling modules using a single
+command, but that should not be usually needed. To build any Sling module, just
+enter the local directory and execute
 
-1. In the Project Explorer right-click on the "sling-builder" project and select the Team->Revert... menu
-1. A couple of changes will be displayed
-1. Click OK
+    $ mvn --update-snapshots clean install
 
-## Building Sling
+Some modules may have specific build instructions, see the `README.md` file for
+each module.
 
-Note that while it's possible to build the full Sling reactor, using the pom.xml file in the root of the SVN checkout, this should
-rarely be needed and it's almost always too slow to consider. Instead, it's recommended to build the Sling launchpad and the module
-you're working on at the moment.
+## Running Sling
 
-### With the Maven command line tool
+The Sling project produces an executable jar with the `org-apache-sling-starter`
+module. After building the module, you can execute
 
-1. Enter the directory, then do a build and local install of the launchpad (below are unix/linux commands, slightly different under windows)
+    $ java -jar target/org.apache.sling.starter-*.jar
 
-        $ cd sling
-        $ cd launchpad/builder # you are now in the Sling SVN checkout
-        $ mvn --update-snapshots clean install
-        $ java -jar target/org.apache.sling.launchpad-*.jar -c test -f -
+to start it up.
 
 <div class="note">
-When starting Sling inside the `launchpad/builder` folder you should not use the default Sling Home folder name `sling` because this folder is removed when running `mvn clean`.
+When starting Sling inside the org-apache-sling-starter module you should not use the default Sling Home folder name sling because this folder is removed when running mvn clean.
 </div>
 
 Messages should now be printed to the console which is being used as the "log file";
@@ -146,10 +89,11 @@ After all messages have been printed you should be able to open the Sling Manage
 
 To stop Sling, just hit `Ctrl-C` in the console or click the *Stop* button on the *System Information* page of the Sling Management Console.
 
-2. Enter the directory of the bundle you're working on, then do a build and deploy the bundle to the running launchpad instance
+## Making and deploying changes
 
-        $ cd sling
-        $ cd bundles/servlets/get
+Enter the module of the bundle you're working on, then do a build and deploy the bundle to the running launchpad instance
+
+        $ cd org-apache-sling-servlets-get
         $ mvn clean install sling:install
 
 The Maven build command ensure that:
@@ -157,35 +101,10 @@ The Maven build command ensure that:
 * the bundle is installed in the local repository so future builds of the launchpad module will pick it up ( `install` goal )
 * the bundle is deployed in the running launchpad instance ( `sling:install` goal )
 
-### With M2Eclipse
-
-1. Make sure you're in the Java perspective (Menu: Window->Open Perspective)
-1. Menu: Run->Run Configurations...
-1. In the Run Configurationa dialog right-click on "Maven Build" and select "New"
-1. Change Name to "Build Sling"
-1. Click "Browse Workspace..." and select "sling-builder"
-1. Enter "clean install" in Goals
-1. Click on the JRE tab
-1. Enter "-Xmx256m \-XX:MaxPermSize=128m" in "VM arguments"
-1. Click Apply
-1. Click Run
-
-### Alternative setup in Eclipse without M2Eclipse plugin
-
-In the case that you do not want to use the M2Eclipse plugin there's another setup that lets you have the automatic build turned on:
-
-1. Checkout the whole sling trunk (with subversive or the subclipse plugin) from SVN to a single project
-1. Then manually add all `src/main/java` and `src/test/java` of the bundles to the project as source folders
-1. Add all required libraries to the build path
-1. Now you can build either in Eclipse or even better use "mvn clean install" on the command line
-
-If you use "mvn clean install" to build Sling be sure you have set MAVEN_OPTS to "-Xmx384m \-XX:PermSize=256m" otherwise you will probably get OutOfmemory errors.
-
 Congratulations \! You should now have a running Sling instance, that you can start playing around with.
 
 ## Further Tips and Tricks
 
-
 ### Debug Sling in Eclipse
 
 You can use remote debugging to debug Sling in Eclipse, here's a little How-To
diff --git a/src/main/jbake/content/documentation/development/release-management.md b/src/main/jbake/content/documentation/development/release-management.md
index 186c9a4..4c4aab5 100644
--- a/src/main/jbake/content/documentation/development/release-management.md
+++ b/src/main/jbake/content/documentation/development/release-management.md
@@ -174,7 +174,7 @@ If the vote is successful, you need to promote and distribute the release - see
 
 If the vote fails, or you decide to redo the release:
 
-1. Remove the release tag from Subversion (`svn del ...`)
+1. Remove the release tag from Git (`git push --delete origin ${tagName}`)
 1. Login to [https://repository.apache.org](https://repository.apache.org) using your Apache SVN credentials. Click on *Staging* on the left. Then click on *org.apache.sling* in the list of repositories. In the panel below you should see a closed repository that is linked to your username and IP (if it's not yet closed you need to right click and select *Close*). Right click on this repository and select *Drop*.
 1. Remove the old version from Jira
     1. Create a new version in Jira with a version number following the one of the cancelled release
diff --git a/src/main/jbake/content/project-information.md b/src/main/jbake/content/project-information.md
index bfb25e9..557d562 100644
--- a/src/main/jbake/content/project-information.md
+++ b/src/main/jbake/content/project-information.md
@@ -35,14 +35,17 @@ This project uses JIRA a J2EE-based, issue tracking and project management appli
 
 The issue tracker can be found at [http://issues.apache.org/jira/browse/SLING](http://issues.apache.org/jira/browse/SLING)
 
-
 ## Source Repository
 
-As of October 2017 the Sling source code has migrated to multiple GitHub repositories, synced to the canonical ASF Git repositories using the [ASF Git](https://gitbox.apache.org/) services.
+This project uses Git to manage its source code. The source code is hosted on the [ASF GitBox setup](https://gitbox.apache.org/repos/asf)
+and the [Apache organisation on GitHub](https://github.com/apache/).
+
+To check out the Sling source code, see the instructions from  [Getting and building Sling](/documentation/development/getting-and-building-sling.html#getting-the-sling-source).
 
-The [sling-aggregator](https://github.com/apache/sling-aggregator) repository can be used to checkout all Sling modules.
+### Web Access
 
-All our repositories have `sling` in their name and are found under the `apache` organization, use [this search link](https://github.com/apache/?utf8=%E2%9C%93&q=sling) to find them.
+The source code can be accessed using either the GitHub or GitBox setup, but the most convenient way is to use the GitHub
+search to display all Sling projects: [https://github.com/apache/?q=sling](https://github.com/apache/?q=sling).
 
 ## Continuous Integration
 
diff --git a/src/main/jbake/templates/menu.tpl b/src/main/jbake/templates/menu.tpl
index 4e0e97a..b4778d6 100644
--- a/src/main/jbake/templates/menu.tpl
+++ b/src/main/jbake/templates/menu.tpl
@@ -41,9 +41,8 @@ div(class:"menu"){
 
 	p(){
 		strong("Source") br() newLine()
-		a(href:"http://svn.apache.org/viewvc/sling/trunk", "Subversion") br() newLine()
-		a(href:"git://git.apache.org/sling.git", "Git") br() newLine()
-		a(href:"https://github.com/apache/sling", "Github Mirror") br() newLine()
+		a(href:"https://github.com/apache/?utf8=%E2%9C%93&q=sling", "GitHub") br() newLine()
+		a(href:"https://gitbox.apache.org/repos/asf?s=sling", "Git at Apache") br() newLine()
 	}
 
 	p(){

-- 
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].