Compare commits

..

11 Commits

Author SHA1 Message Date
Kohsuke Kawaguchi
b953d0c831 [maven-release-plugin] prepare release github-api-1.7 2011-05-28 15:25:37 +02:00
Kohsuke Kawaguchi
ecb71006d8 ignore static fields 2011-03-16 22:03:55 -07:00
Kohsuke Kawaguchi
cffa552ba1 renameTo wasn't updating some fields 2011-03-16 17:12:22 -07:00
Kohsuke Kawaguchi
f6e7ee3253 Merge commit 'github-api-1.6' 2011-03-15 19:11:01 -07:00
Kohsuke Kawaguchi
275b55f674 set a plugin repository, too 2011-03-15 19:08:22 -07:00
Kohsuke Kawaguchi
d3a18d234f set a repository 2011-03-15 19:05:48 -07:00
Kohsuke Kawaguchi
ab2d0cebaf [maven-release-plugin] prepare for next development iteration 2011-03-15 19:03:49 -07:00
Kohsuke Kawaguchi
878468820b [maven-release-plugin] prepare release github-api-1.6 2011-03-15 19:03:45 -07:00
Kohsuke Kawaguchi
6c9ebd1b5f added an ability to set the post commit hook e-mail address 2011-03-15 17:21:20 -07:00
Kohsuke Kawaguchi
985a11d896 Merge commit 'github-api-1.5' 2011-02-23 09:35:35 +09:00
Kohsuke Kawaguchi
c6712ed6d5 [maven-release-plugin] prepare for next development iteration 2011-02-23 09:26:26 +09:00
4 changed files with 63 additions and 3 deletions

28
pom.xml
View File

@@ -3,7 +3,7 @@
<groupId>org.kohsuke</groupId>
<artifactId>github-api</artifactId>
<packaging>jar</packaging>
<version>1.5</version>
<version>1.7</version>
<name>GitHub API for Java</name>
<url>http://kohsuke.org/github-api/</url>
<description>GitHub API for Java</description>
@@ -19,6 +19,32 @@
</site>
</distributionManagement>
<repositories>
<repository>
<id>m.g.o-public</id>
<url>http://maven.glassfish.org/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>m.g.o-public</id>
<url>http://maven.glassfish.org/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>

View File

@@ -43,11 +43,15 @@ public abstract class GHPerson {
*/
protected GHRepository refreshRepository(String name) throws IOException {
if (repositories==null) getRepositories(); // fetch the base first
GHRepository r = root.retrieve("/repos/show/" + login + '/' + name, JsonRepository.class).wrap(root);
GHRepository r = fetchRepository(name);
repositories.put(name,r);
return r;
}
protected GHRepository fetchRepository(String name) throws IOException {
return root.retrieve("/repos/show/" + login + '/' + name, JsonRepository.class).wrap(root);
}
public GHRepository getRepository(String name) throws IOException {
return getRepositories().get(name);
}

View File

@@ -26,11 +26,15 @@ package org.kohsuke.github;
import com.gargoylesoftware.htmlunit.ElementNotFoundException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlButton;
import com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -165,6 +169,18 @@ public class GHRepository {
}
}
public void setEmailServiceHook(String address) throws IOException {
WebClient wc = root.createWebClient();
HtmlPage pg = (HtmlPage)wc.getPage(getUrl()+"/admin");
HtmlInput email = (HtmlInput)pg.getElementById("Email_address");
email.setValueAttribute(address);
HtmlCheckBoxInput active = (HtmlCheckBoxInput)pg.getElementById("Email[active]");
active.setChecked(true);
final HtmlForm f = email.getEnclosingFormOrDie();
f.submit((HtmlButton)f.getElementsByTagName("button").get(0));
}
/**
* Deletes this repository.
*/
@@ -222,7 +238,19 @@ public class GHRepository {
try {
f.getInputByName("name").setValueAttribute(newName);
f.submit((HtmlButton)f.getElementsByTagName("button").get(0));
name = newName;
// overwrite fields
final GHRepository r = getOwner().fetchRepository(newName);
for (Field fi : getClass().getDeclaredFields()) {
if (Modifier.isStatic(fi.getModifiers())) continue;
fi.setAccessible(true);
try {
fi.set(this,fi.get(r));
} catch (IllegalAccessException e) {
throw (IllegalAccessError)new IllegalAccessError().initCause(e);
}
}
return;
} catch (ElementNotFoundException e) {
// continue

View File

@@ -23,6 +23,8 @@ public class AppTest extends TestCase {
public void testApp() throws IOException {
GitHub gitHub = GitHub.connect();
// gitHub.getMyself().getRepository("perforce-plugin").setEmailServiceHook("kk@kohsuke.org");
// tryRenaming(gitHub);
// tryOrgFork(gitHub);