Examples of Changelist


Examples of com.intellij.openapi.vcs.changes.ChangeList

    final VirtualFile[] files = IdeaUtilImpl.getProjectClasspath(_dataContext);
    worker.configureAuxClasspathEntries(files);

    // set source dirs
    //final VirtualFile[] files1 = IdeaUtilImpl.getSelectedFiles(_dataContext);
    final ChangeList changeList = getActiveChangeList();
    final Collection<VirtualFile> modifiedFiles = IdeaUtilImpl.getModifiedFilesByList(changeList, _dataContext);
    final VirtualFile[] selectedSourceFiles = modifiedFiles.toArray(new VirtualFile[modifiedFiles.size()]);
    worker.configureSourceDirectories(selectedSourceFiles);

    // set class files
    worker.configureOutputFiles(selectedSourceFiles);
    worker.work("Running FindBugs analysis for changelist '" + changeList.getName() + "'...");
  }
View Full Code Here

Examples of com.perforce.p4java.impl.generic.core.Changelist

    public int createNewChangeList() throws IOException {
        try {
            ChangelistSummary summary = new ChangelistSummary(IChangelist.UNKNOWN, client.getName(),
                    server.getUserName(), ChangelistStatus.NEW, new Date(),
                    "Artifactory release plugin", false);
            IChangelist newChangeList = new Changelist(summary, server, false);
            newChangeList = client.createChangelist(newChangeList);
            newChangeList.update();
            return newChangeList.getId();
        } catch (P4JavaException e) {
            throw new IOException("Perforce execution failed: '" + e.getMessage() + "'", e);
        }
    }
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

                return FormValidation.ok();
            }
            if (depot != null) {
                try {
                    int number = Integer.parseInt(change);
                    Changelist changelist = depot.getChanges().getChangelist(number, -1);
                    if (changelist.getChangeNumber() != number)
                        throw new PerforceException("broken");
                } catch (Exception e) {
                    return FormValidation.error("Changelist: " + change + " does not exist.");
                }
            }
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

   * (non-Javadoc)
   *
   * @see com.tek42.perforce.parse.Builder#build(java.lang.StringBuilder)
   */
  public Changelist build(StringBuilder sb) throws PerforceException {
    Changelist change = null;
    StringTokenizer lines = new StringTokenizer(sb.toString(), "\n\r");
    try {
      while(lines.hasMoreElements()) {
        String line = lines.nextToken();
        logger.debug("Line: " + line);

        if(line.startsWith("Change")) {
          logger.debug("New changelist.");

          change = new Changelist();
          // Line looks like:
          // Change XXXX by user@client on YYYY/MM/DD HH:MM:SS
          StringTokenizer details = new StringTokenizer(line);
          details.nextToken(); // client
          change.setChangeNumber(new Integer(details.nextToken()));
          details.nextToken(); // by
          String user = details.nextToken();
          change.setUser(user.substring(0, user.indexOf("@")));
          change.setWorkspace(user.substring(user.indexOf("@") + 1));
          details.nextToken(); // on

          String date = details.nextToken();
          String time = details.nextToken();

          change.setDate(parseDate(date + " " + time));

          // the lines immediately following is the description
          StringBuilder desc = new StringBuilder();
          line = lines.nextToken();
          while(line != null && !line.startsWith("Affected files") && !line.startsWith("Jobs fixed")) {
            logger.debug("Description Line: " + line.trim());
            desc.append(line + "\n");
            line = lines.nextToken();
          }
          change.setDescription(desc.toString().trim());

        }

        if(line.startsWith("Jobs fixed")) {
          logger.debug("Has jobs.");
          List<Changelist.JobEntry> jobs = new ArrayList<Changelist.JobEntry>();
          boolean getDesc = false;
          Changelist.JobEntry job = new Changelist.JobEntry();
          String description = null;
          line = lines.nextToken();
          while(!line.startsWith("Affected files")) {
            logger.debug("Job Line: " + line);
            if(!getDesc) {
              // Line looks like:
              // EXT-84 on 2007/09/25 by mwille *closed*
              // or
              // EXT-84 on 2007/09/25 *closed*
              // or
              // EXT-84 on 2007/09/25
                            // or
                            // EXT-84 on 2007/09/25 by mwille
              StringTokenizer details = new StringTokenizer(line);
              job = new Changelist.JobEntry();
              if (details.hasMoreTokens())
                job.setJob(details.nextToken());
              else
                logger.error("We shouldnt be here.  Should be getting job but no nextToken: " + line);
             
              if (details.hasMoreTokens())
                details.nextToken(); // on
              else
                logger.error("We shouldnt be here.  Should be popping off on but no nextToken: " + line);
             
              if (details.hasMoreTokens())
                details.nextToken(); // date
              else
                logger.error("We shouldnt be here.  Should be popping off date but no nextToken: " + line);
             
              String status = "";

              if (details.hasMoreTokens())
              {
                String possibleUser = details.nextToken(); // by
                if ("by".equals(possibleUser))
                {
                  if (details.hasMoreTokens())
                    details.nextToken(); // user
                  else
                    logger.error("We shouldnt be here.  Should be popping off user since found by but no nextToken: " + line);
                                                                        if (details.hasMoreTokens()) //status is optional
                    status = details.nextToken(); // status
                }
                else
                {
                  status = possibleUser;
                }
              }

              job.setStatus(status);
              getDesc = true;
              line = lines.nextToken();
            } else //getDesc
              //What comes back from p4 describe -s is actually the title not description and should only be one line
              //leave handling of multiple lines because who knows what the future will bring
              //It is possible to not have a description/title
              //The title will start with a tab where Affected files or another job will not.
              //Also possible to have blank lines
              description = "";             
              while(line.startsWith("\t") || line.length() == 0) {
                description += line;
                if(!lines.hasMoreElements()) {
                  logger.error("We shouldnt be here.  We are not out of getting the description for the job but no more lines");
                  break;
                }
                description += "\n";
                line = lines.nextToken();
              }
              job.setDescription(description.trim());
              jobs.add(job);
              getDesc = false;
            }

          }  //while lines

          change.setJobs(jobs);

        }

        if(line.startsWith("Affected files")) {
          logger.debug("reading files...");
          List<Changelist.FileEntry> files = new ArrayList<Changelist.FileEntry>();
              int fileCount = 0;

          while(lines.hasMoreElements()) {
              //Record a maximum of maxFiles files
              if(maxFiles > 0) {
                          if(fileCount >= maxFiles) {
                              break;
                          }
                  fileCount++;
              }
            String entry = lines.nextToken();
            logger.debug("File Line: " + entry);
            // if(!entry.startsWith("..."))
            // break;
            // line looks lie:
            // ... //depot/path/to/file/file.ext#1 edit

            int revStart = entry.indexOf("#");
            if(revStart < 0)
              continue;
            String filename = entry.substring(4, revStart);
            String rev = entry.substring(revStart + 1, entry.indexOf(" ", revStart));
            String action = entry.substring(entry.indexOf(" ", revStart) + 1);
            action = action.replace('/', '_');
            Changelist.FileEntry file = new Changelist.FileEntry();
            file.setFilename(filename);
            file.setRevision(rev);
                                                file.setChangenumber(Integer.valueOf(change.getChangeNumber()).toString());
            file.setAction(Changelist.FileEntry.Action.valueOf(action.toUpperCase(Locale.US)));
            files.add(file);
          }

          change.setFiles(files);

        }
      }
    } catch(Exception e) {
      logger.error("Exception: " + e.getMessage());
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

   * @throws PerforceException
   */
  public Changelist getChangelist(int number, int maxFiles) throws PerforceException {

    ChangelistBuilder builder = new ChangelistBuilder(maxFiles);
    Changelist change = builder.build(getPerforceResponse(builder.getBuildCmd(getP4Exe(), Integer.toString(number))));
    if(change == null)
      throw new PerforceException("Failed to retrieve changelist " + number);
                calculateWorkspacePaths(change);
    return change;
  }
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

        List<PerforceChangeLogEntry> entries = new ArrayList<PerforceChangeLogEntry>();
        PerforceChangeLogSet originalSet = new PerforceChangeLogSet(null,entries);
       
       
        List<Changelist> changes = new ArrayList<Changelist>();
        Changelist cl = new Changelist();
        cl.setChangeNumber(1000);
        cl.setDescription("test change <this is broken XML&>");
        cl.setUser("test.user");
        cl.setWorkspace("test_workspace");
        List<Changelist.FileEntry> files = new ArrayList<Changelist.FileEntry>();
        Changelist.FileEntry fileEntry = new Changelist.FileEntry();
        fileEntry.setAction(Changelist.FileEntry.Action.ADD);
        fileEntry.setChangenumber("1000");
        fileEntry.setRevision("1");
        fileEntry.setWorkspacePath("some/workspace/path");
        fileEntry.setFilename("file");
        files.add(fileEntry);
        fileEntry = new Changelist.FileEntry();
        fileEntry.setAction(Changelist.FileEntry.Action.ADD);
        fileEntry.setChangenumber("1001");
        fileEntry.setRevision("3");
        fileEntry.setWorkspacePath("some/workspace/path2");
        fileEntry.setFilename("file2");
        files.add(fileEntry);
        cl.setFiles(files);
        List<Changelist.JobEntry> jobs = new ArrayList<Changelist.JobEntry>();
        Changelist.JobEntry jobEntry = new Changelist.JobEntry();
        jobEntry.setDescription("test job");
        jobEntry.setJob("test-job");
        jobEntry.setStatus("submitted");
        jobs.add(jobEntry);
        jobEntry = new Changelist.JobEntry();
        jobEntry.setDescription("test job2 <!--Contains some nonsense-->\n<[[ like, really broken ]]>\n");
        jobEntry.setJob("test-job2");
        jobEntry.setStatus("rejected");
        jobs.add(jobEntry);
        cl.setJobs(jobs);
        changes.add(cl);
        PerforceChangeLogEntry entry = new PerforceChangeLogEntry(originalSet);
        entry.setChange(cl);
        entries.add(entry);

        cl = new Changelist();
        cl.setChangeNumber(1003);
        cl.setDescription("test change2");
        cl.setUser("test.user2");
        cl.setWorkspace("test_workspace2");
        files = new ArrayList<Changelist.FileEntry>();
        fileEntry = new Changelist.FileEntry();
        fileEntry.setAction(Changelist.FileEntry.Action.ADD);
        fileEntry.setChangenumber("1003");
        fileEntry.setRevision("1");
        fileEntry.setWorkspacePath("some/workspace/path5");
        fileEntry.setFilename("file5");
        files.add(fileEntry);
        fileEntry = new Changelist.FileEntry();
        fileEntry.setAction(Changelist.FileEntry.Action.ADD);
        fileEntry.setChangenumber("1003");
        fileEntry.setRevision("3");
        fileEntry.setWorkspacePath("some/workspace/path3");
        fileEntry.setFilename("file3");
        files.add(fileEntry);
        cl.setFiles(files);
        jobs = new ArrayList<Changelist.JobEntry>();
        jobEntry = new Changelist.JobEntry();
        jobEntry.setDescription("test job3");
        jobEntry.setJob("test-job3");
        jobEntry.setStatus("submitted");
        jobs.add(jobEntry);
        jobEntry = new Changelist.JobEntry();
        jobEntry.setDescription("test job4");
        jobEntry.setJob("test-job4");
        jobEntry.setStatus("rejected");
        jobs.add(jobEntry);
        cl.setJobs(jobs);
        changes.add(cl);
        entry = new PerforceChangeLogEntry(originalSet);
        entry.setChange(cl);
        entries.add(entry);
       
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

            if (qName.equalsIgnoreCase("changelog")) {
                //this is the root, so don't do anything
                return;
            }
            if (objects.peek() instanceof Changelist) {
                Changelist changelist = (Changelist) objects.peek();
                if (qName.equalsIgnoreCase("changenumber")) {
                    changelist.setChangeNumber(new Integer(text.toString()));
                    return;
                }
                if (qName.equalsIgnoreCase("date")) {
                    changelist.setDate(stringDateToJavaDate(text.toString()));
                    return;
                }
                if (qName.equalsIgnoreCase("description")) {
                    changelist.setDescription(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("user")) {
                    changelist.setUser(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("workspace")) {
                    changelist.setWorkspace(text.toString());
                    return;
                }
            }
            if (objects.peek() instanceof Changelist.JobEntry) {
                Changelist.JobEntry job = (Changelist.JobEntry) objects.peek();
                if (qName.equalsIgnoreCase("name")) {
                    job.setJob(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("description")) {
                    job.setDescription(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("status")) {
                    job.setStatus(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("job")) {
                    objects.pop();
                    List joblist = (List) objects.peek();
                    joblist.add(job);
                    return;
                }
            }
            if (objects.peek() instanceof Changelist.FileEntry) {
                Changelist.FileEntry file = (Changelist.FileEntry) objects.peek();
                if (qName.equalsIgnoreCase("name")) {
                    file.setFilename(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("workspacePath")) {
                    file.setWorkspacePath(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("action")) {
                    file.setAction(Changelist.FileEntry.Action.valueOf(text.toString()));
                    return;
                }
                if (qName.equalsIgnoreCase("rev")) {
                    file.setRevision(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("changenumber")) {
                    file.setChangenumber(text.toString());
                    return;
                }
                if (qName.equalsIgnoreCase("file")) {
                    objects.pop();
                    List filelist = (List) objects.peek();
                    filelist.add(file);
                    return;
                }
            }
            if (qName.equalsIgnoreCase("files")) {
                ArrayList<Changelist.FileEntry> files = (ArrayList<Changelist.FileEntry>) objects.pop();
                Changelist changelist = (Changelist) objects.peek();
                changelist.setFiles(files);
                return;
            }
            if (qName.equalsIgnoreCase("jobs")) {
                ArrayList<Changelist.JobEntry> jobs = (ArrayList<Changelist.JobEntry>) objects.pop();
                Changelist changelist = (Changelist) objects.peek();
                changelist.setJobs(jobs);
                return;
            }
            if (qName.equalsIgnoreCase("entry")) {
                Changelist changelist = (Changelist) objects.pop();
                PerforceChangeLogEntry entry = new PerforceChangeLogEntry(changeLogSet);
                entry.setChange(changelist);
                changeLogEntries.add(entry);
                return;
            }
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

            if (qName.equalsIgnoreCase("changelog")) {
                //this is the root, so don't do anything
                return;
            }
            if (qName.equalsIgnoreCase("entry")) {
                objects.push(new Changelist());
                return;
            }
            if (objects.peek() instanceof Changelist) {
                if (qName.equalsIgnoreCase("files")) {
                    objects.push(new ArrayList<Changelist.FileEntry>());
View Full Code Here

Examples of com.tek42.perforce.model.Changelist

                    && lastChange > 0 && newestChange > lastChange) {
                List<Integer> workspaceChanges = depot.getChanges().getChangeNumbersInRange(
                        p4workspace, lastChange+1, newestChange, viewMask, showIntegChanges);
                for (int i = workspaceChanges.size()-1; i >= 0; --i) {
                    int changeNumber = workspaceChanges.get(i);
                    Changelist changelist = depot.getChanges().getChangelist(changeNumber, fileLimit);
                    if (!isChangelistExcluded(changelist, build.getProject(), build.getBuiltOn(), p4workspace.getViewsAsString(), log)) {
                        newestChange = changeNumber;
                        break;
                    }
                    log.println("Changelist "+changeNumber+" is composed of file(s) and/or user(s) that are excluded.");
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.