Last Published: 2009-03-23

Insight Repository

Insight and its modules uses the SourceForge.Net Subversion Repository. For more information on Subversion please check out the Subversion Book.

Repository Access

The repository can be accessed using standard Subversion tools using the URLs below. The modules in the repository are mentioned in the Repository Structure section below.

Read-only HTTP Access

For read only HTTP access, use the following subversion URL:

http://mindtreeinsight.svn.sourceforge.net/svnroot/mindtreeinsight/

Developer Access

Developers need to use HTTPS to access the subversion repository, or commits will fail on the repository. Apart from accessing the repository over HTTPS, developers also need to ensure that their machines are also configured according to the recommended subversion settings. This is required to ensure consistent line endings and MIME typing of files in the repository.

The developer access HTTPS URL for the repository is:

https://mindtreeinsight.svn.sourceforge.net/svnroot/mindtreeinsight/

Access from behind a firewall or proxy

Anyone (including developers) trying to access the repository from behind a firewall or internet proxy server need to access subversion using the Developer HTTPS link.

For configuring your Subversion client to use a HTTP Proxy to get to the repository you need to set the http-proxy-host and the http-proxy-port settings. Optionally, if your proxy server requires authentication, you will need to set the http-proxy-username and http-proxy-password settings. The details on how to configure these settings can be found at the Configuration Options section of the SVN Book.

Note: The password in http-proxy-password is stored in plain text by subversion. Even though the file is stored in the users area giving some protection, please use your judgment in storing the password.

Note: If you are using Subclipse as your Subversion client, you still need to set your proxy settins in the Subversion sections mentioned above. Subclipse versions at the time of writing use the Subversion settings from the Subversion defined location rather than from Eclipse.

Viewing the source in the Repository

SourceForge.Net also makes available a ViewVC interface to the repository for easy browsing. This is accessible from http://mindtreeinsight.svn.sourceforge.net/viewvc/mindtreeinsight/.

Insight commits are recorded on the Insight Commits mailing list. To see past commits, please check the archives of the list at https://sourceforge.net/mailarchive/forum.php?set=custom&forum_name=mindtreeinsight-commits&style=threaded. The commit emails also contain links to the viewvc diff reports.

Repository Structure

The high level module tree structure of the Insight repository is given below. mindtreeinsight is the repository root.

mindtreeinsight
        |
        |- insight
        |       |
        |       |- insight-ui   (+)
        |
        |- maven-repo
        |       |
        |       |- trunk
        |       |       |
        |       |       |- dependency   (-)
        |       |       |- release      (-)
        |       |       |- snapshot     (-)
        |       |
        |       |- ...
        |
        |- releng
        |       |
        |       |- insight-site-skin    (+)
        |       |- maven-jsmooth-plugin (+)
        |       |- maven-nsis-plugin    (+)
        |       |- mvn-plugins-parent   (+)
        |
        |- remote-protocol
        |       |
        |       |- remote-protocol-j    (+)
        |
        |- site (+)

Directories marked with a (+) are modules of the project, and the ones marked with (-) are temporary Maven 2 repository locations, used until Insight finds a permanent location for its repository.

Modules

The following table briefly describes the Insight modules:

Module Description
insight-ui The primary Insight UI component. This
component is the primary artifact of the
project.
insight-site-skin The Maven Site Plug-in skin used to generate
this and other Insight component websites.
maven-jsmooth-plugin The Maven Plug-in to create JSmooth compiled
executables for Insight.
maven-nsis-plugin The Maven Plug-in to create a Windows
Installer for Insight
mvn-plugins-parent Parent POM for all Insight specific Maven
plug-ins
remote-protocol-j The Java Remote Protocol implementation for
the Insight Remote Protocol Specification
site The Insight Common site content
Insight Modules

Trunk, Branches and Tags

Each module in Insight has its own trunk, branches and tags. Due to the hierarchical structure of Subversion, the branches and tags are not repository wide. For a reference of trunk, branches and tags in Subversion please head over to the Branching and Merging section of the Subversion Book.

The tag and branch name format used in Insight is ${module.name}-${module.version}[-dev]. Where ${module.name} is the name of the module for which the branch or the tag is applied; and ${module.version} is the version for the branch or tag. The -dev extension is used for development branches only. For a maintenance or major release development branch, the branch name usually uses the version number of the first version from the branch. For example, all 1.5.x releases for Insight are created out of the insight-ui-1.5.0 branch.

The current list of active branches in the repository is maintained on the Insight Wiki at http://mindtreeinsight.wiki.sourceforge.net/Active_Branches.

Maven component hierarchy

Maven is designed to work with a hierarchical structure of projects specially for ones that have sub modules. Eclipse on the other hand does not like the hierarchical structure of projects, hence in Insight most of the repository is set out to have flat logically grouped modules. The modules are related to each other using relative paths in the modules pom.xml. The only exception to this rule is for modules which are not built independently, an example of this is the Insight UI help module.

Maven 2 Repositories

The build and deployment process of insight uses Maven, and Insight also releases its modules (and the Maven plug-ins developed for Insight) to Maven repositories.

Referenced Repositories not maintained by Insight

For its dependencies, Insight modules reference the following external repositories:

  1. Maven Central Repository: http://repo1.maven.org/maven2/
  2. Apache Snapshot Repository: http://people.apache.org/maven-snapshot-repository/
  3. Apache M2 Snapshot Repository: http://people.apache.org/repo/m2-snapshot-repository/
  4. Java.Net Maven2 Repository: http://download.java.net/maven/2/

Repositories maintained by Insight

Insight currently uses and maintains three temporary Maven2 repositories.

SourceForge.Net currently does not host a Maven2 repository. This is an outstanding feature request over at SourceForge. However, till that is completed, Insight will continue to maintain at least the release and snapshot repository.

The formal releases of Insight though occur using the SourceForge File Release System. The repositories maintained by Insight are meant for reference from Insight modules and other Maven2 projects.

The repositories currently in use are:

  1. Insight Dependency Repository : https://mindtreeinsight.svn.sourceforge.net/svnroot/mindtreeinsight/maven-repo/trunk/dependency/
  2. Insight Snapshot Release Repository : https://mindtreeinsight.svn.sourceforge.net/svnroot/mindtreeinsight/maven-repo/trunk/snapshot/
  3. Insight Release Repository : https://mindtreeinsight.svn.sourceforge.net/svnroot/mindtreeinsight/maven-repo/trunk/release/


    The dependency repository currently has mavenized compiled versions of Log4j-1.3alpha9-SNAPSHOT (which Insight is currently dependent on, and jsmoothgen-0.9.9-7. After Insight 2.0, the dependency on Log4J 1.3 should be gone.

    The Jsmooth dependency will remain till JSmooth is deployed to a Maven repository. There is an outstanding Feature Request on the JSmooth trackers to put the releases out on Maven repositories. If that is fixed, we can remove this dependency also. The process to put new releases of JSmooth out to the repository is described on the Insight Wiki at http://mindtreeinsight.wiki.sourceforge.net/Maven_Shortcuts.

Other Dependencies

There are some indirect dependencies of Insight which are not available on public maven repositories, and also cannot be published in the insight maintained dependency repository. Those need to be downloaded manually and installed. For a list of those artifacts and ways to install them, see Artifacts In Local Repository.