<property name="distribution.zipfile" value="gitblit-${gb.version}.zip" />\r
<property name="distribution.warfile" value="gitblit-${gb.version}.war" />\r
<property name="fedclient.zipfile" value="fedclient-${gb.version}.zip" />\r
- <property name="manager.jarfile" value="manager-${gb.version}.jar" />\r
+ <property name="manager.zipfile" value="manager-${gb.version}.zip" />\r
<property name="gbapi.zipfile" value="gbapi-${gb.version}.zip" />\r
</target>\r
\r
<arg value="%FEDCLIENT%=${fedclient.zipfile}" />\r
\r
<arg value="--substitute" />\r
- <arg value="%MANAGER%=${manager.jarfile}" />\r
+ <arg value="%MANAGER%=${manager.zipfile}" />\r
\r
<arg value="--substitute" />\r
<arg value="%API%=${gbapi.zipfile}" />\r
<zip destfile="${fedclient.zipfile}">\r
<fileset dir="${basedir}">\r
<include name="fedclient.jar" />\r
+ <include name="LICENSE" />\r
+ <include name="NOTICE" />\r
</fileset>\r
<fileset dir="${basedir}/distrib">\r
<include name="federation.properties" />\r
<target name="buildManager" depends="compile" description="Builds the stand-alone Gitblit Manager">\r
<echo>Building Gitblit Manager ${gb.version}</echo>\r
\r
- <genjar jarfile="${manager.jarfile}">\r
+ <genjar jarfile="maanager-${gb.version}.jar">\r
<resource file="${basedir}/src/com/gitblit/client/splash.png" />\r
<resource file="${basedir}/resources/gitblt-favicon.png" />\r
<resource file="${basedir}/resources/gitweb-favicon.png" />\r
</manifest>\r
</genjar>\r
\r
+ <!-- Build Manager Zip file -->\r
+ <zip destfile="${manager.zipfile}">\r
+ <fileset dir="${basedir}">\r
+ <include name="manager-${gb.version}.jar" />\r
+ <include name="LICENSE" />\r
+ <include name="NOTICE" />\r
+ </fileset>\r
+ </zip>\r
</target>\r
\r
<!-- \r
<target name="buildApiLibrary" depends="compile" description="Builds the Gitblit RPC client library">\r
<echo>Building Gitblit API Library ${gb.version}</echo>\r
\r
- <genjar jarfile="gbapi.jar">\r
+ <!-- Build API Library jar -->\r
+ <genjar jarfile="gbapi-${gb.version}.jar">\r
+ <class name="com.gitblit.Keys" />\r
<class name="com.gitblit.client.GitblitClient" />\r
<classpath refid="master-classpath" />\r
<classfilter>\r
</manifest>\r
</genjar>\r
\r
+ <!-- Build API sources jar -->\r
+ <zip destfile="gbapi-${gb.version}-sources.jar">\r
+ <fileset dir="${basedir}/src" defaultexcludes="yes">\r
+ <include name="com/gitblit/Constants.java"/>\r
+ <include name="com/gitblit/GitBlitException.java"/>\r
+ <include name="com/gitblit/Keys.java"/>\r
+ <include name="com/gitblit/client/**/*.java"/>\r
+ <include name="com/gitblit/models/**/*.java"/>\r
+ <include name="com/gitblit/utils/**/*.java"/> \r
+ </fileset>\r
+ </zip>\r
+ \r
+ <!-- Build API JavaDoc jar -->\r
+ <javadoc destdir="${basedir}/javadoc">\r
+ <fileset dir="${basedir}/src" defaultexcludes="yes">\r
+ <include name="com/gitblit/Constants.java"/>\r
+ <include name="com/gitblit/GitBlitException.java"/>\r
+ <include name="com/gitblit/Keys.java"/>\r
+ <include name="com/gitblit/client/**/*.java"/>\r
+ <include name="com/gitblit/models/**/*.java"/>\r
+ <include name="com/gitblit/utils/**/*.java"/> \r
+ </fileset>\r
+ </javadoc>\r
+ <zip destfile="gbapi-${gb.version}-javadoc.jar">\r
+ <fileset dir="${basedir}/javadoc" />\r
+ </zip>\r
+ \r
<!-- Build the API library zip file -->\r
<zip destfile="${gbapi.zipfile}">\r
<fileset dir="${basedir}">\r
- <include name="gbapi.jar" />\r
+ <include name="gbapi-${gb.version}.jar" />\r
+ <include name="gbapi-${gb.version}-sources.jar" />\r
+ <include name="gbapi-${gb.version}-javadoc.jar" />\r
+ <include name="LICENSE" />\r
+ <include name="NOTICE" />\r
</fileset>\r
<fileset dir="${basedir}/ext">\r
<include name="gson*.jar" />\r
<arg value="%FEDCLIENT%=${fedclient.zipfile}" />\r
\r
<arg value="--substitute" />\r
- <arg value="%MANAGER%=${manager.jarfile}" />\r
+ <arg value="%MANAGER%=${manager.zipfile}" />\r
\r
<arg value="--substitute" />\r
<arg value="%API%=${gbapi.zipfile}" />\r
username="${googlecode.user}" \r
password="${googlecode.password}" \r
projectname="gitblit" \r
- filename="${manager.jarfile}" \r
- targetfilename="manager-${gb.version}.jar"\r
+ filename="${manager.zipfile}" \r
+ targetfilename="manager-${gb.version}.zip"\r
summary="Gitblit Manager v${gb.version} (Swing tool to remotely administer a Gitblit server)"\r
labels="Featured, Type-Package, OpSys-All" />\r
\r
### Easy Web Management\r
\r
Administrators can create and manage all repositories & user accounts from the *web UI*. \r
-Administrators can create and manage all repositories & user accounts from the *JSON RPC interface* using the [Gitblit Manager](%MANAGER%) or your own custom tooling. \r
+Administrators can create and manage all repositories & user accounts from the *JSON RPC interface* using the [Gitblit Manager](http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%) or your own custom tooling. \r
\r
### Integration\r
\r
Gitblit has a pluggable user service mechanism which allows you to implement your own authentication, authorization, and user management.\r
\r
-Gitblit offers RSS feeds, a JSON-based RPC mechanism, and a [Java client API library](%API%) which allow you to integrate Gitblit into your systems.\r
+Gitblit offers RSS feeds, a JSON-based RPC mechanism, and a [Java Client API library](http://code.google.com/p/gitblit/downloads/detail?name=%API%) which allows you to integrate Gitblit into your systems.\r
\r
### Backup Strategy\r
\r
-Gitblit includes a backup mechanism (*federation*) which can be used to backup repositories and, optionally, user accounts & server settings from your Gitblit instance to another Gitblit instance or to a [Gitblit Federation Client](%FEDCLIENT%). Similarly you can use the federation mechanism to aggregate individual workspace Gitblit instances to a common, centralized server.\r
+Gitblit includes a backup mechanism (*federation*) which can be used to backup repositories and, optionally, user accounts & server settings from your Gitblit instance to another Gitblit instance or to a [Gitblit Federation Client](http://code.google.com/p/gitblit/downloads/detail?name=%FEDCLIENT%). Similarly, you can use the federation mechanism to aggregate individual workspace Gitblit instances to a common, centralized server.\r
\r
\r
## Standard Features (GO/WAR)\r
- A Windows service installation script and configuration tool\r
\r
## Limitations\r
-- HTTP/HTTPS are the only supported protocols\r
+- HTTP/HTTPS are the only supported Git protocols\r
- Access controls are not path-based, they are repository-based\r
- Only Administrators can create, rename or delete repositories\r
- Only Administrators can create, modify or delete users\r
\r
* Gitblit: editable settings page in GO/WAR\r
* Gitblit: tag repositories and offer views of repositories by tag (issue 27)\r
-* Gitblit: aggregate RSS feeds by tag or subfolder\r
-* Gitblit: investigate create-on-push possibility\r
+* Gitblit: investigate create-repository-on-push.\r
+ * Maybe a new user role to allow this?\r
+ * Maybe a server setting to disable this completely?\r
+ * Pusher/Creator becomes repository owner and can then manipulate access lists, etc?\r
* Gitblit: Clone Repository feature (issue 5)\r
* optional scheduled pulls\r
* optional automatic push to origin/remotes?\r
* optional manual push to origin/remotes?\r
* Gitblit: Lucene integration with multi-repository search (issue 16)\r
* Gitblit: Repository regex substitutions should be stored in .git/.config, not gitblit.properties\r
+* Gitblit: Consider allowing git:// protocol using JGit\r
+ * new setting *git.allowGitProtocol* to enable/disable git:// protocol\r
+ * unrestricted repositories would have anonymous RW git:// access\r
+ * push-restricted repositories would have anonymous R git:// access\r
+ * clone-restricted repositories would prohibit git:// access\r
+ * view-restricted repositories would prohibit git:// access\r
+* Gitblit: Consider using Git-style config file instead of Java properties file for user storage (users.config vs. users.properties)\r
+ * this would allow for additional fields per user without bringing in a database\r
\r
### TODO (low priority)\r
\r
\r
### IDEAS\r
\r
+* Gitblit: aggregate RSS feeds by tag or subfolder\r
+* Gitblit: Consider creating more Git model objects and exposing them via the JSON RPC interface to allow inspection/retrieval of Git commits, Git trees, etc from Gitblit.\r
* Gitblit: Stronger ticgit integration (issue 8)\r