List of usage examples for org.eclipse.jgit.api Git init
public static InitCommand init()
From source file:org.basinmc.maven.plugins.minecraft.patch.InitializeRepositoryMojo.java
License:Apache License
/** * Initializes the local repository with its default state. *///w w w . j av a 2 s .c o m private void initializeRepository() throws ArtifactResolutionException, MojoFailureException { final Path sourceArtifact; { Artifact a = this.createArtifactWithClassifier(MINECRAFT_GROUP_ID, this.getModule(), this.getMappingArtifactVersion(), "source"); sourceArtifact = this.findArtifact(a).orElseThrow(() -> new MojoFailureException( "Could not locate artifact " + this.getArtifactCoordinateString(a))); } try { Files.createDirectories(this.getSourceDirectory().toPath()); Git git = Git.init().setDirectory(this.getSourceDirectory()).call(); AccessTransformationMap transformationMap = null; Formatter formatter = null; if (this.getAccessTransformation() != null) { transformationMap = AccessTransformationMap.read(this.getAccessTransformation().toPath()); formatter = new Formatter(); } try (ZipFile file = new ZipFile(sourceArtifact.toFile())) { Enumeration<? extends ZipEntry> enumeration = file.entries(); while (enumeration.hasMoreElements()) { ZipEntry entry = enumeration.nextElement(); String name = entry.getName(); if (!name.endsWith(".java")) { continue; } Path outputPath = this.getSourceDirectory().toPath().resolve(name); if (!Files.isDirectory(outputPath.getParent())) { Files.createDirectories(outputPath.getParent()); } try (InputStream inputStream = file.getInputStream(entry)) { try (FileChannel outputChannel = FileChannel.open(outputPath, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE)) { if (transformationMap != null && transformationMap.getTypeMappings(name).isPresent()) { JavaClassSource classSource = Roaster.parse(JavaClassSource.class, inputStream); this.applyAccessTransformation(transformationMap, classSource); outputChannel.write(ByteBuffer.wrap(formatter.formatSource(classSource.toString()) .getBytes(StandardCharsets.UTF_8))); } else { try (ReadableByteChannel channel = Channels.newChannel(inputStream)) { ByteStreams.copy(channel, outputChannel); } } } } git.add().addFilepattern(name).call(); } } git.commit().setAuthor(ROOT_COMMIT_AUTHOR_NAME, ROOT_COMMIT_AUTHOR_EMAIL) .setCommitter(ROOT_COMMIT_AUTHOR_NAME, ROOT_COMMIT_AUTHOR_EMAIL) .setMessage("Added decompiled sources.").call(); git.branchCreate().setName("upstream").call(); } catch (FormatterException ex) { throw new MojoFailureException("Failed to format one or more source files: " + ex.getMessage(), ex); } catch (GitAPIException ex) { throw new MojoFailureException("Failed to execute Git command: " + ex.getMessage(), ex); } catch (IOException ex) { throw new MojoFailureException( "Failed to access source artifact or write target file: " + ex.getMessage(), ex); } }
From source file:org.cfg4j.source.git.TempConfigurationGitRepo.java
License:Apache License
private Git createLocalRepo(Path path) throws IOException, GitAPIException { Files.delete(path); return Git.init().setDirectory(path.toFile()).call(); }
From source file:org.cicomponents.test.GitEmitterTest.java
License:Mozilla Public License
@Test @SneakyThrows/*from w w w. j a v a 2 s .co m*/ public void listenerDiscovery() { try (WorkingDirectory directory = workingDirectoryProvider.getDirectory()) { Git git = Git.init().setDirectory(new File(directory.getDirectory())).call(); RevCommit commit = git.commit().setAllowEmpty(true).setMessage("Test").call(); Hashtable<String, Object> properties = new Hashtable<>(); properties.put("repository", "file://" + git.getRepository().getDirectory().getAbsolutePath()); properties.put("type", "latest"); Listener listener = new Listener(); ServiceRegistration<ResourceListener> registration = bundleContext .registerService(ResourceListener.class, listener, properties); Collection<ServiceReference<GitRevisionEmitter>> references = bundleContext.getServiceReferences( GitRevisionEmitter.class, "(objectClass=" + GitRevisionEmitter.class.getName() + ")"); assertFalse(references.isEmpty()); registration.unregister(); git.close(); } }
From source file:org.cicomponents.test.GitEmitterTest.java
License:Mozilla Public License
@Test @SneakyThrows//from w w w . j a v a 2s. c o m public void listenerRemoval() { try (WorkingDirectory directory = workingDirectoryProvider.getDirectory()) { Git git = Git.init().setDirectory(new File(directory.getDirectory())).call(); RevCommit commit = git.commit().setAllowEmpty(true).setMessage("Test").call(); Hashtable<String, Object> properties = new Hashtable<>(); properties.put("repository", "file://" + git.getRepository().getDirectory().getAbsolutePath()); properties.put("type", "latest"); Listener listener = new Listener(); ServiceRegistration<ResourceListener> registration = bundleContext .registerService(ResourceListener.class, listener, properties); Collection<ServiceReference<GitRevisionEmitter>> references = bundleContext.getServiceReferences( GitRevisionEmitter.class, "(objectClass=" + GitRevisionEmitter.class.getName() + ")"); assertFalse(references.isEmpty()); ObjectId objectId = listener.getFuture().get(); assertEquals(commit.toObjectId(), objectId); listener.reset(); registration.unregister(); git.commit().setAllowEmpty(true).setMessage("Test #1").call(); try { listener.getFuture().get(11, TimeUnit.SECONDS); fail("Listener was not removed"); } catch (TimeoutException e) { // this is what should happen } git.close(); } }
From source file:org.cicomponents.test.GitEmitterTest.java
License:Mozilla Public License
@Test @SneakyThrows//w ww.j av a 2 s.c o m public void listener() { try (WorkingDirectory directory = workingDirectoryProvider.getDirectory()) { Git git = Git.init().setDirectory(new File(directory.getDirectory())).call(); RevCommit commit = git.commit().setAllowEmpty(true).setMessage("Test").call(); Hashtable<String, Object> properties = new Hashtable<>(); properties.put("repository", "file://" + git.getRepository().getDirectory().getAbsolutePath()); properties.put("type", "latest"); Listener listener = new Listener(); ServiceRegistration<ResourceListener> registration = bundleContext .registerService(ResourceListener.class, listener, properties); Collection<ServiceReference<GitRevisionEmitter>> references = bundleContext.getServiceReferences( GitRevisionEmitter.class, "(objectClass=" + GitRevisionEmitter.class.getName() + ")"); ObjectId objectId = listener.getFuture().get(); assertEquals(commit.toObjectId(), objectId); listener.reset(); // Test ongoing commits commit = git.commit().setAllowEmpty(true).setMessage("Test #1").call(); objectId = listener.getFuture().get(); assertEquals(commit.toObjectId(), objectId); git.close(); registration.unregister(); } }
From source file:org.craftercms.commons.git.impl.GitRepositoryFactoryImpl.java
License:Open Source License
@Override public GitRepository init(File dir, boolean bare) throws GitException { try {/*from w ww . j a va 2 s .co m*/ Git git = Git.init().setDirectory(dir).setBare(bare).call(); logger.info("New Git repository created at {}", git.getRepository().getDirectory()); return new GitRepositoryImpl(git); } catch (GitAPIException e) { throw new GitException("Error creating new Git repository in " + dir, e); } }
From source file:org.craftercms.commons.git.impl.GitRepositoryFactoryImplTest.java
License:Open Source License
@Test public void testOpen() throws Exception { Git git = Git.init().setDirectory(tmpDir.getRoot()).call(); GitRepository repo = repositoryFactory.open(tmpDir.getRoot()); assertNotNull(repo);/*from w w w.j a v a 2 s . co m*/ assertEquals(git.getRepository().getDirectory().getCanonicalPath(), repo.getDirectory().getCanonicalPath()); }
From source file:org.craftercms.commons.git.impl.GitRepositoryFactoryImplTest.java
License:Open Source License
@Test public void testClone() throws Exception { File masterRepoDir = tmpDir.newFolder("master"); File cloneRepoDir = tmpDir.newFolder("clone"); try (Git git = Git.init().setDirectory(masterRepoDir).call()) { File testFile = new File(masterRepoDir, "test"); testFile.createNewFile();//from w w w . j ava2 s. co m git.add().addFilepattern("test").call(); git.commit().setMessage("Test commit").call(); } GitRepository repo = repositoryFactory.clone(masterRepoDir.getAbsolutePath(), cloneRepoDir); assertNotNull(repo); File[] files = cloneRepoDir.listFiles(); assertNotNull(files); assertEquals(2, files.length); File gitDir = findFile(".git", files); assertNotNull(gitDir); assertTrue(gitDir.isDirectory()); File testFile = findFile("test", files); assertNotNull(testFile); assertFalse(testFile.isDirectory()); }
From source file:org.craftercms.commons.git.impl.GitRepositoryImplTest.java
License:Open Source License
@Test public void testAdd() throws Exception { Git git = Git.init().setDirectory(tmpDir.getRoot()).call(); GitRepositoryImpl repository = new GitRepositoryImpl(git); File testFile = new File(tmpDir.getRoot(), "test"); testFile.createNewFile();/* ww w . j a va 2 s. co m*/ repository.add("test"); Status status = git.status().call(); assertNotNull(status); assertEquals(Collections.singleton("test"), status.getAdded()); }
From source file:org.craftercms.commons.git.impl.GitRepositoryImplTest.java
License:Open Source License
@Test public void testRemove() throws Exception { Git git = Git.init().setDirectory(tmpDir.getRoot()).call(); GitRepositoryImpl repository = new GitRepositoryImpl(git); File testFile = new File(tmpDir.getRoot(), "test"); testFile.createNewFile();//from www .j a v a 2 s . c o m git.add().addFilepattern("test").call(); git.commit().setMessage("Test commit").call(); repository.remove("test"); Status status = git.status().call(); assertNotNull(status); assertEquals(Collections.singleton("test"), status.getRemoved()); }