annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/VcsRootBuilder.java @ 502:2755266b7dd5 Faradi-7.1.x

Use uncompressed transfer explicitly Due to the way <props:checkboxProperty/> works we shown a checked uncompressed transfer option even when a property had a value false.
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Mon, 29 Oct 2012 17:48:29 +0400
parents 24d926f22e85
children 81fa236998d4
rev   line source
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
1 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
2
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
3 import jetbrains.buildServer.vcs.SVcsRoot;
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
4 import jetbrains.buildServer.vcs.impl.VcsRootImpl;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
5 import org.jetbrains.annotations.NotNull;
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
6 import org.jmock.Expectations;
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
7 import org.jmock.Mockery;
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
8
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
9 import java.io.IOException;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
10
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
11 /**
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
12 * @author dmitry.neverov
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
13 */
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
14 public class VcsRootBuilder {
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
15
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
16 private String myRepository;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
17 private String myUsername;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
18 private String myPassword;
276
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
19 private String myBranch;
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
20 private long myRootId = 1L;
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
21 private String myHgPath;
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
22 private String myUserForTag;
502
2755266b7dd5 Use uncompressed transfer explicitly
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 371
diff changeset
23 private boolean myUncompressed = true;
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
24
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
25 public static VcsRootBuilder vcsRoot() {
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
26 return new VcsRootBuilder();
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
27 }
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
28
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
29 public VcsRootImpl build() throws IOException {
309
33305b2022c2 Take caches and plugin data dirs from PluginConfig
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 280
diff changeset
30 VcsRootImpl vcsRoot = new VcsRootImpl(myRootId, Constants.VCS_NAME);
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
31 vcsRoot.addProperty(Constants.REPOSITORY_PROP, myRepository);
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
32 vcsRoot.addProperty(Constants.HG_COMMAND_PATH_PROP, myHgPath != null ? myHgPath : Util.getHgPath());
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
33 vcsRoot.addProperty(Constants.USERNAME, myUsername);
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
34 vcsRoot.addProperty(Constants.PASSWORD, myPassword);
276
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
35 vcsRoot.addProperty(Constants.BRANCH_NAME_PROP, myBranch);
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
36 vcsRoot.addProperty(Constants.USER_FOR_TAG, myUserForTag);
502
2755266b7dd5 Use uncompressed transfer explicitly
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 371
diff changeset
37 vcsRoot.addProperty(Constants.UNCOMPRESSED_TRANSFER, String.valueOf(myUncompressed));
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
38 return vcsRoot;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
39 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
40
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
41
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
42 public SVcsRoot build(Mockery context) {
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
43 final SVcsRoot root = context.mock(SVcsRoot.class, "SVcsRoot" + myRootId);
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
44 context.checking(new Expectations() {{
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
45 allowing(root).getVcsName(); will(returnValue(Constants.VCS_NAME));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
46 allowing(root).getProperty(with(Constants.REPOSITORY_PROP)); will(returnValue(myRepository));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
47 allowing(root).getProperty(with(Constants.HG_COMMAND_PATH_PROP)); will(returnValue(myHgPath));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
48 allowing(root).getProperty(with(Constants.BRANCH_NAME_PROP)); will(returnValue(myBranch));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
49 allowing(root).getProperty(with(Constants.SERVER_CLONE_PATH_PROP)); will(returnValue(null));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
50 allowing(root).getProperty(with(Constants.USERNAME)); will(returnValue(myUsername));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
51 allowing(root).getProperty(with(Constants.PASSWORD)); will(returnValue(myPassword));
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
52 allowing(root).getProperty(with(Constants.UNCOMPRESSED_TRANSFER)); will(returnValue(null));
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
53 allowing(root).getProperty(with(Constants.USER_FOR_TAG)); will(returnValue(myUserForTag));
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
54 }});
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
55 return root;
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
56 }
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
57
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
58
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
59 public VcsRootBuilder withUrl(@NotNull String repository) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
60 myRepository = repository;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
61 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
62 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
63
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
64
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
65 public VcsRootBuilder withUserName(@NotNull String username) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
66 myUsername = username;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
67 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
68 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
69
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
70
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
71 public VcsRootBuilder withPassword(@NotNull String password) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
72 myPassword = password;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
73 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
74 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
75
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
76
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
77 public VcsRootBuilder withBranch(@NotNull String branch) {
276
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
78 myBranch = branch;
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
79 return this;
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
80 }
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
81
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
82
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
83 public VcsRootBuilder withId(long rootId) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
84 myRootId = rootId;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
85 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
86 }
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
87
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
88
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
89 public VcsRootBuilder withHgPath(String hgPath) {
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
90 myHgPath = hgPath;
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
91 return this;
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
92 }
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
93
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
94
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
95 public VcsRootBuilder withUserForTag(String username) {
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
96 myUserForTag = username;
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
97 return this;
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
98 }
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
99 }