Example usage for org.eclipse.jgit.lib Repository create

List of usage examples for org.eclipse.jgit.lib Repository create

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib Repository create.

Prototype

public void create() throws IOException 

Source Link

Document

Create a new Git repository.

Usage

From source file:com.amazonaws.eclipse.elasticbeanstalk.git.AWSGitPushCommand.java

License:Open Source License

private Repository initializeRepository() throws IOException {
    if (repoLocation == null) {
        throw new RuntimeException("No repository location specified");
    }// w  ww .  j a va  2 s. c o  m

    if ((!repoLocation.exists() && !repoLocation.mkdirs()) || !repoLocation.isDirectory()) {
        throw new RuntimeException("Unable to initialize Git repository from location: " + repoLocation);
    }

    Repository repository = new RepositoryBuilder().setWorkTree(repoLocation).build();
    if (!repository.getObjectDatabase().exists()) {
        repository.create();
    }

    return repository;
}

From source file:com.buildautomation.jgit.api.CookbookHelper.java

License:Apache License

public static Repository createNewRepository() throws IOException {
    // prepare a new folder
    File localPath = File.createTempFile("TestGitRepository", "");
    localPath.delete();/*from  w  w w .jav  a2s  .com*/

    // create the directory
    Repository repository = FileRepositoryBuilder.create(new File(localPath, ".git"));
    repository.create();

    return repository;
}

From source file:com.centurylink.mdw.plugin.project.assembly.ProjectInflator.java

License:Apache License

public void inflateCloudProject(final IRunnableContext container) {
    getProject().setCloudProject(true);/*from  ww w. j  a  v a 2s  .  c o m*/

    // get a project handle
    final IProject newProjectHandle = ResourcesPlugin.getWorkspace().getRoot()
            .getProject(workflowProject.getName());

    // get a project descriptor
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());

    // create the new project operation
    IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) throws InvocationTargetException {
            Repository newRepo = null;
            try {
                if (workflowProject.getPersistType() == PersistType.Git) {
                    File localDir = new File(ResourcesPlugin.getWorkspace().getRoot().getLocation().toFile()
                            + "/" + workflowProject.getName());
                    if (workflowProject.getMdwVcsRepository().hasRemoteRepository()) {
                        monitor.subTask("Cloning Git repository");
                        VcsRepository gitRepo = workflowProject.getMdwVcsRepository();
                        Git.cloneRepository().setURI(gitRepo.getRepositoryUrlWithCredentials())
                                .setDirectory(localDir).call();
                    } else {
                        newRepo = new FileRepository(new File(localDir + "/.git"));
                        newRepo.create();
                    }

                    // .gitignore
                    Generator generator = new Generator(shell);
                    JetAccess jet = getJet("source/.ignorejet", getProject().getSourceProject(), ".gitignore",
                            null);
                    generator.createFile(jet, monitor);
                }

                CreateProjectOperation op = new CreateProjectOperation(description, "MDW Cloud Project");
                PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute(op, monitor,
                        WorkspaceUndoUtil.getUIInfoAdapter(shell));
            } catch (Exception ex) {
                throw new InvocationTargetException(ex);
            } finally {
                if (newRepo != null)
                    newRepo.close();
            }
        }
    };

    // run the new project creation operation
    try {
        container.run(false, false, op);
        ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(MdwPlugin.getShell());
        pmDialog.run(true, false, new IRunnableWithProgress() {
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Inflating Workflow Project", 250);
                monitor.worked(5);
                // configure as Java project
                ProjectConfigurator projConf = new ProjectConfigurator(getProject(), MdwPlugin.getSettings());
                projConf.setJava(new SubProgressMonitor(monitor, 3));

                ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings());
                updater.updateMappingFiles(new SubProgressMonitor(monitor, 3)); // bootstrap
                                                                                // versions
                                                                                // of
                                                                                // the
                                                                                // property
                                                                                // files
                updater.updateFrameworkJars(new SubProgressMonitor(monitor, 150));
                updater.updateWebProjectJars(new SubProgressMonitor(monitor, 50));

                try {
                    if (getProject().isOsgi())
                        projConf.addJavaProjectSourceFolder(getProject().getOsgiSettings().getSourceDir(),
                                new SubProgressMonitor(monitor, 3));
                    else if (!getProject().isWar())
                        projConf.addJavaProjectSourceFolder("src", monitor);
                    projConf.setJavaBuildOutputPath("build/classes", new SubProgressMonitor(monitor, 5));
                    projConf.addFrameworkJarsToClasspath(monitor);

                    // add the workflow facet
                    getProject().setSkipFacetPostInstallUpdates(true); // already
                                                                       // did
                                                                       // framework
                                                                       // updates
                    IFacetedProject facetedProject = ProjectFacetsManager
                            .create(getProject().getSourceProject(), true, new SubProgressMonitor(monitor, 3));
                    IProjectFacetVersion javaFacetVersion = ProjectFacetsManager.getProjectFacet("java")
                            .getDefaultVersion();
                    if (Float.parseFloat(javaFacetVersion.getVersionString()) < 1.6)
                        javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.6");
                    if (workflowProject.isCloudOnly())
                        javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.7");
                    facetedProject.installProjectFacet(javaFacetVersion, null,
                            new SubProgressMonitor(monitor, 3));
                    IProjectFacetVersion mdwFacet = ProjectFacetsManager.getProjectFacet("mdw.workflow")
                            .getDefaultVersion();
                    facetedProject.installProjectFacet(mdwFacet, getProject(),
                            new SubProgressMonitor(monitor, 3));
                    if (workflowProject.isOsgi()) {
                        IProjectFacet utilFacet = ProjectFacetsManager.getProjectFacet("jst.utility");
                        IProjectFacetVersion facetVer = utilFacet.getDefaultVersion();
                        IActionDefinition def = facetVer.getActionDefinition(null,
                                IFacetedProject.Action.Type.INSTALL);
                        Object cfg = def.createConfigObject();
                        facetedProject.installProjectFacet(
                                ProjectFacetsManager.getProjectFacet("jst.utility").getDefaultVersion(), cfg,
                                new SubProgressMonitor(monitor, 3));
                    } else if (workflowProject.isWar()) {
                        // add the facet to the xml file
                        IFile facetsFile = workflowProject.getSourceProject()
                                .getFile(".settings/org.eclipse.wst.common.project.facet.core.xml");
                        if (facetsFile.exists()) {
                            String content = new String(PluginUtil.readFile(facetsFile));
                            int insert = content.indexOf("</faceted-project>");
                            content = content.substring(0, insert)
                                    + "  <installed facet=\"jst.web\" version=\"3.0\"/>\n"
                                    + content.substring(insert);
                            PluginUtil.writeFile(facetsFile, content, new SubProgressMonitor(monitor, 3));
                        }
                    }

                    final ProjectConfigurator configurator = new ProjectConfigurator(getProject(),
                            MdwPlugin.getSettings());
                    if (!workflowProject.isOsgi() && !workflowProject.isWar()) {
                        MdwPlugin.getDisplay().syncExec(new Runnable() {
                            public void run() {
                                try {
                                    configurator.createFrameworkSourceCodeAssociations(MdwPlugin.getShell(),
                                            new NullProgressMonitor());
                                } catch (CoreException ex) {
                                    PluginMessages.log(ex);
                                }
                            }
                        });
                    }

                    if (workflowProject.isOsgi()) {
                        generateOsgiArtifacts(new SubProgressMonitor(monitor, 10));
                        configurator.configureOsgiProject(shell, new SubProgressMonitor(monitor, 5));
                    } else if (workflowProject.isWar()) {
                        generateWarCloudArtifacts(new SubProgressMonitor(monitor, 10));
                        configurator.addMavenNature(new SubProgressMonitor(monitor, 5)); // force
                                                                                         // maven
                                                                                         // refresh
                    }
                } catch (Exception ex) {
                    throw new InvocationTargetException(ex);
                }
            }
        });
    } catch (Exception ex) {
        PluginMessages.uiError(ex, "Create Cloud Project", workflowProject);
    }
}

From source file:com.github.checkstyle.regression.internal.GitUtils.java

License:Open Source License

public static Repository createNewRepository() throws IOException {
    final File repoDir = File.createTempFile("TestTempRepository", "");
    if (!repoDir.delete()) {
        throw new IOException("Could not delete temporary file " + repoDir);
    }//w ww  . ja v a2  s  . c  o  m
    final Repository repository = FileRepositoryBuilder.create(new File(repoDir, ".git"));
    repository.create();
    TEMP_REPOSITORIES.add(repository);
    return repository;
}

From source file:com.googlesource.gerrit.plugins.uploadvalidator.TestUtils.java

License:Apache License

public static Repository createNewRepository(File repoFolder) throws IOException {
    Repository repository = FileRepositoryBuilder.create(new File(repoFolder, ".git"));
    repository.create();
    return repository;
}

From source file:com.meltmedia.cadmium.core.git.GitService.java

License:Apache License

public static GitService init(String site, String dir) throws Exception {
    String repoPath = dir + "/" + site;
    log.debug("Repository Path :" + repoPath);
    Repository repo = new FileRepository(repoPath + "/.git");
    Git git = null;/*from w w  w.j a  v  a2  s. com*/
    try {
        repo.create();
        git = new Git(repo);

        File localGitRepo = new File(repoPath);
        localGitRepo.mkdirs();
        new File(localGitRepo, "delete.me").createNewFile();

        git.add().addFilepattern("delete.me").call();
        git.commit().setMessage("initial commit").call();
        return new GitService(git);
    } catch (IllegalStateException e) {
        log.debug("Repo Already exists locally");
        if (repo != null) {
            repo.close();
        }
    }
    return null;
}

From source file:com.surevine.gateway.scm.git.jgit.TestUtility.java

License:Open Source License

public static LocalRepoBean createTestRepoMultipleBranches() throws Exception {
    final String projectKey = "test_" + UUID.randomUUID().toString();
    final String repoSlug = "testRepo";
    final String remoteURL = "ssh://fake_url";
    final Path repoPath = Paths.get(PropertyUtil.getGitDir(), "local_scm", projectKey, repoSlug);
    Files.createDirectories(repoPath);
    final Repository repo = new FileRepository(repoPath.resolve(".git").toFile());
    repo.create();
    final StoredConfig config = repo.getConfig();
    config.setString("remote", "origin", "url", remoteURL);
    config.save();//from  ww w  .  j a v  a  2 s. co  m

    final LocalRepoBean repoBean = new LocalRepoBean();
    repoBean.setProjectKey(projectKey);
    repoBean.setSlug(repoSlug);
    repoBean.setLocalBare(false);

    final Git git = new Git(repo);

    // add some files to some branches
    for (int i = 0; i < 3; i++) {
        final String filename = "newfile" + i + ".txt";
        Files.write(repoPath.resolve(filename), Arrays.asList("Hello World"), StandardCharsets.UTF_8,
                StandardOpenOption.CREATE, StandardOpenOption.APPEND);
        git.add().addFilepattern(filename).call();
        git.commit().setMessage("Added " + filename).call();
    }

    git.checkout().setName("branch1").setCreateBranch(true).call();
    for (int i = 0; i < 3; i++) {
        final String filename = "branch1" + i + ".txt";
        Files.write(repoPath.resolve(filename), Arrays.asList("Hello World"), StandardCharsets.UTF_8,
                StandardOpenOption.CREATE, StandardOpenOption.APPEND);
        git.add().addFilepattern(filename).call();
        git.commit().setMessage("Added " + filename).call();
    }

    git.checkout().setName("master").call();
    git.checkout().setName("branch2").setCreateBranch(true).call();
    for (int i = 0; i < 3; i++) {
        final String filename = "branch2" + i + ".txt";
        Files.write(repoPath.resolve(filename), Arrays.asList("Hello World"), StandardCharsets.UTF_8,
                StandardOpenOption.CREATE, StandardOpenOption.APPEND);
        git.add().addFilepattern(filename).call();
        git.commit().setMessage("Added " + filename).call();
    }

    repo.close();
    return repoBean;
}

From source file:com.surevine.gateway.scm.git.jgit.TestUtility.java

License:Open Source License

public static LocalRepoBean createTestRepo() throws Exception {
    final String projectKey = "test_" + UUID.randomUUID().toString();
    final String repoSlug = "testRepo";
    final String remoteURL = "ssh://fake_url";
    final Path repoPath = Paths.get(PropertyUtil.getGitDir(), "local_scm", projectKey, repoSlug);
    Files.createDirectories(repoPath);
    final Repository repo = new FileRepository(repoPath.resolve(".git").toFile());
    repo.create();
    final StoredConfig config = repo.getConfig();
    config.setString("remote", "origin", "url", remoteURL);
    config.save();//from ww w . j a v  a2 s . com

    final LocalRepoBean repoBean = new LocalRepoBean();
    repoBean.setProjectKey(projectKey);
    repoBean.setSlug(repoSlug);
    repoBean.setLocalBare(false);
    repoBean.setSourcePartner("partner");

    final Git git = new Git(repo);

    for (int i = 0; i < 3; i++) {
        final String filename = "newfile" + i + ".txt";
        Files.write(repoPath.resolve(filename), Arrays.asList("Hello World"), StandardCharsets.UTF_8,
                StandardOpenOption.CREATE, StandardOpenOption.APPEND);
        git.add().addFilepattern(filename).call();
        git.commit().setMessage("Added " + filename).call();
    }

    git.checkout().setName("master").call();

    repo.close();
    return repoBean;
}

From source file:de.blizzy.documentr.repository.ProjectRepositoryManager.java

License:Open Source License

ILockedRepository createCentralRepository(boolean bare, User user) throws IOException, GitAPIException {
    if (centralRepoDir.isDirectory()) {
        throw new IllegalStateException("repository already exists: " + centralRepoDir.getAbsolutePath()); //$NON-NLS-1$
    }/* www .  ja v  a 2s  .  c  o m*/

    ILock lock = lockManager.lockAll();
    try {
        Repository repo = null;
        File gitDir = new File(centralRepoDir, ".git"); //$NON-NLS-1$
        try {
            RepositoryBuilder builder = new RepositoryBuilder().setGitDir(gitDir);
            if (bare) {
                builder.setBare();
            }
            repo = builder.build();
            repo.create();
        } finally {
            RepositoryUtil.closeQuietly(repo);
        }

        File tempGitDir = new File(new File(reposDir, CENTRAL_REPO_NAME + "_temp"), ".git"); //$NON-NLS-1$ //$NON-NLS-2$
        Repository tempRepo = null;
        try {
            tempRepo = Git.cloneRepository().setURI(gitDir.toURI().toString()).setDirectory(tempGitDir).call()
                    .getRepository();
            Git git = Git.wrap(tempRepo);
            PersonIdent ident = new PersonIdent(user.getLoginName(), user.getEmail());
            git.commit().setAuthor(ident).setCommitter(ident).setMessage("init").call(); //$NON-NLS-1$
            git.push().call();
        } finally {
            RepositoryUtil.closeQuietly(tempRepo);
        }
        FileUtils.forceDelete(tempGitDir.getParentFile());
    } finally {
        lockManager.unlock(lock);
    }

    return getCentralRepository(bare);
}

From source file:edu.tum.cs.mylyn.provisioning.git.ui.GitProvisioningWizard.java

License:Open Source License

private void configureRepository(RepositoryWrapper repositoryInfo, String destinationDirectory,
        boolean importProjects, IProgressMonitor monitor) {
    try {//from www .  j  av a 2 s. c  om
        File destinationDir = new File(destinationDirectory);
        File repositoryPath = new File(destinationDir + File.separator + GIT_DIR);
        FileRepositoryBuilder builder = new FileRepositoryBuilder();
        Repository repository = builder.setGitDir(repositoryPath).readEnvironment().build();
        repository.getConfig().fromText(repositoryInfo.getConfig().toText());
        repository.create();
        monitor.worked(10);
        monitor.worked(10);
        pull(repository);
        monitor.worked(50);
        if (importProjects) {
            importProjects(repository, monitor);
        }
        monitor.worked(30);
        org.eclipse.egit.core.Activator.getDefault().getRepositoryCache().lookupRepository(repositoryPath);
    } catch (Exception e) {
        StatusHandler
                .log(new Status(Status.WARNING, Activator.PLUGIN_ID, "error provisioning git projects", e)); //$NON-NLS-1$
    }
}