or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

build-config.mdcore-model.mddependencies.mdindex.mdmodel-merging.mdprofiles.mdproject-metadata.mdrepositories.mdutility-classes.mdxml-io.md

project-metadata.mddocs/

0

# Project Metadata

1

2

Classes for managing project metadata including organization information, developer details, licenses, mailing lists, source control management, and issue tracking systems.

3

4

## Capabilities

5

6

### Organization

7

8

Represents the organization that develops and maintains the project.

9

10

```java { .api }

11

public class Organization {

12

public String getName();

13

public void setName(String name);

14

public String getUrl();

15

public void setUrl(String url);

16

17

// Utility methods

18

public Organization clone();

19

public InputLocation getLocation(Object key);

20

public void setLocation(Object key, InputLocation location);

21

}

22

```

23

24

**Usage Example:**

25

26

```java

27

Organization org = new Organization();

28

org.setName("Apache Software Foundation");

29

org.setUrl("https://apache.org");

30

31

model.setOrganization(org);

32

```

33

34

### License

35

36

Represents a software license under which the project is distributed.

37

38

```java { .api }

39

public class License {

40

public String getName();

41

public void setName(String name);

42

public String getUrl();

43

public void setUrl(String url);

44

public String getDistribution();

45

public void setDistribution(String distribution);

46

public String getComments();

47

public void setComments(String comments);

48

49

// Utility methods

50

public License clone();

51

public InputLocation getLocation(Object key);

52

public void setLocation(Object key, InputLocation location);

53

}

54

```

55

56

**Usage Example:**

57

58

```java

59

License license = new License();

60

license.setName("Apache License, Version 2.0");

61

license.setUrl("https://www.apache.org/licenses/LICENSE-2.0.txt");

62

license.setDistribution("repo");

63

64

model.addLicense(license);

65

```

66

67

### Developer

68

69

Represents a developer working on the project, extending the base Contributor class with additional developer-specific information.

70

71

```java { .api }

72

public class Developer extends Contributor {

73

public String getId();

74

public void setId(String id);

75

76

// All methods from Contributor are inherited

77

public String getName();

78

public void setName(String name);

79

public String getEmail();

80

public void setEmail(String email);

81

public String getUrl();

82

public void setUrl(String url);

83

public String getOrganization();

84

public void setOrganization(String organization);

85

public String getOrganizationUrl();

86

public void setOrganizationUrl(String organizationUrl);

87

public List<String> getRoles();

88

public void setRoles(List<String> roles);

89

public void addRole(String role);

90

public void removeRole(String role);

91

public String getTimezone();

92

public void setTimezone(String timezone);

93

public Properties getProperties();

94

public void setProperties(Properties properties);

95

96

// Utility methods

97

public Developer clone();

98

public InputLocation getLocation(Object key);

99

public void setLocation(Object key, InputLocation location);

100

}

101

```

102

103

**Usage Example:**

104

105

```java

106

Developer developer = new Developer();

107

developer.setId("johndoe");

108

developer.setName("John Doe");

109

developer.setEmail("john.doe@example.com");

110

developer.setUrl("https://johndoe.dev");

111

developer.setOrganization("Example Corp");

112

developer.addRole("architect");

113

developer.addRole("developer");

114

developer.setTimezone("America/New_York");

115

116

model.addDeveloper(developer);

117

```

118

119

### Contributor

120

121

Represents a contributor to the project.

122

123

```java { .api }

124

public class Contributor {

125

public String getName();

126

public void setName(String name);

127

public String getEmail();

128

public void setEmail(String email);

129

public String getUrl();

130

public void setUrl(String url);

131

public String getOrganization();

132

public void setOrganization(String organization);

133

public String getOrganizationUrl();

134

public void setOrganizationUrl(String organizationUrl);

135

public List<String> getRoles();

136

public void setRoles(List<String> roles);

137

public void addRole(String role);

138

public void removeRole(String role);

139

public String getTimezone();

140

public void setTimezone(String timezone);

141

public Properties getProperties();

142

public void setProperties(Properties properties);

143

144

// Utility methods

145

public Contributor clone();

146

public InputLocation getLocation(Object key);

147

public void setLocation(Object key, InputLocation location);

148

}

149

```

150

151

### MailingList

152

153

Represents a project mailing list for communication.

154

155

```java { .api }

156

public class MailingList {

157

public String getName();

158

public void setName(String name);

159

public String getSubscribe();

160

public void setSubscribe(String subscribe);

161

public String getUnsubscribe();

162

public void setUnsubscribe(String unsubscribe);

163

public String getPost();

164

public void setPost(String post);

165

public String getArchive();

166

public void setArchive(String archive);

167

public List<String> getOtherArchives();

168

public void setOtherArchives(List<String> otherArchives);

169

public void addOtherArchive(String otherArchive);

170

public void removeOtherArchive(String otherArchive);

171

172

// Utility methods

173

public MailingList clone();

174

public InputLocation getLocation(Object key);

175

public void setLocation(Object key, InputLocation location);

176

}

177

```

178

179

**Usage Example:**

180

181

```java

182

MailingList devList = new MailingList();

183

devList.setName("Developer List");

184

devList.setSubscribe("dev-subscribe@example.org");

185

devList.setUnsubscribe("dev-unsubscribe@example.org");

186

devList.setPost("dev@example.org");

187

devList.setArchive("https://lists.example.org/dev/");

188

189

model.addMailingList(devList);

190

```

191

192

### Scm

193

194

Source Control Management information with support for child project inheritance control.

195

196

```java { .api }

197

public class Scm {

198

public String getConnection();

199

public void setConnection(String connection);

200

public String getDeveloperConnection();

201

public void setDeveloperConnection(String developerConnection);

202

public String getTag();

203

public void setTag(String tag);

204

public String getUrl();

205

public void setUrl(String url);

206

207

// Child project inheritance control for SCM connection

208

public String getChildScmConnectionInheritAppendPath();

209

public void setChildScmConnectionInheritAppendPath(String value);

210

public boolean isChildScmConnectionInheritAppendPath();

211

public void setChildScmConnectionInheritAppendPath(boolean value);

212

213

// Child project inheritance control for developer connection

214

public String getChildScmDeveloperConnectionInheritAppendPath();

215

public void setChildScmDeveloperConnectionInheritAppendPath(String value);

216

public boolean isChildScmDeveloperConnectionInheritAppendPath();

217

public void setChildScmDeveloperConnectionInheritAppendPath(boolean value);

218

219

// Child project inheritance control for SCM URL

220

public String getChildScmUrlInheritAppendPath();

221

public void setChildScmUrlInheritAppendPath(String value);

222

public boolean isChildScmUrlInheritAppendPath();

223

public void setChildScmUrlInheritAppendPath(boolean value);

224

225

// Utility methods

226

public Scm clone();

227

public InputLocation getLocation(Object key);

228

public void setLocation(Object key, InputLocation location);

229

}

230

```

231

232

**Usage Example:**

233

234

```java

235

Scm scm = new Scm();

236

scm.setConnection("scm:git:https://github.com/example/project.git");

237

scm.setDeveloperConnection("scm:git:ssh://git@github.com/example/project.git");

238

scm.setUrl("https://github.com/example/project");

239

scm.setTag("HEAD");

240

241

// Control inheritance for child modules

242

scm.setChildScmUrlInheritAppendPath(true);

243

scm.setChildScmConnectionInheritAppendPath(true);

244

245

model.setScm(scm);

246

```

247

248

### IssueManagement

249

250

Issue tracking system configuration.

251

252

```java { .api }

253

public class IssueManagement {

254

public String getSystem();

255

public void setSystem(String system);

256

public String getUrl();

257

public void setUrl(String url);

258

259

// Utility methods

260

public IssueManagement clone();

261

public InputLocation getLocation(Object key);

262

public void setLocation(Object key, InputLocation location);

263

}

264

```

265

266

**Usage Example:**

267

268

```java

269

IssueManagement issues = new IssueManagement();

270

issues.setSystem("GitHub Issues");

271

issues.setUrl("https://github.com/example/project/issues");

272

273

model.setIssueManagement(issues);

274

```

275

276

### CiManagement

277

278

Continuous Integration system configuration.

279

280

```java { .api }

281

public class CiManagement {

282

public String getSystem();

283

public void setSystem(String system);

284

public String getUrl();

285

public void setUrl(String url);

286

public List<Notifier> getNotifiers();

287

public void setNotifiers(List<Notifier> notifiers);

288

public void addNotifier(Notifier notifier);

289

public void removeNotifier(Notifier notifier);

290

291

// Utility methods

292

public CiManagement clone();

293

public InputLocation getLocation(Object key);

294

public void setLocation(Object key, InputLocation location);

295

}

296

```

297

298

### Notifier

299

300

Notification configuration for continuous integration systems.

301

302

```java { .api }

303

public class Notifier {

304

public String getType();

305

public void setType(String type);

306

public boolean isSendOnError();

307

public String getSendOnError();

308

public void setSendOnError(String sendOnError);

309

public void setSendOnError(boolean sendOnError);

310

public boolean isSendOnFailure();

311

public String getSendOnFailure();

312

public void setSendOnFailure(String sendOnFailure);

313

public void setSendOnFailure(boolean sendOnFailure);

314

public boolean isSendOnSuccess();

315

public String getSendOnSuccess();

316

public void setSendOnSuccess(String sendOnSuccess);

317

public void setSendOnSuccess(boolean sendOnSuccess);

318

public boolean isSendOnWarning();

319

public String getSendOnWarning();

320

public void setSendOnWarning(String sendOnWarning);

321

public void setSendOnWarning(boolean sendOnWarning);

322

public String getAddress();

323

public void setAddress(String address);

324

public Properties getConfiguration();

325

public void setConfiguration(Properties configuration);

326

327

// Utility methods

328

public Notifier clone();

329

public InputLocation getLocation(Object key);

330

public void setLocation(Object key, InputLocation location);

331

}

332

```

333

334

**CI Management Example:**

335

336

```java

337

CiManagement ci = new CiManagement();

338

ci.setSystem("GitHub Actions");

339

ci.setUrl("https://github.com/example/project/actions");

340

341

Notifier emailNotifier = new Notifier();

342

emailNotifier.setType("mail");

343

emailNotifier.setSendOnError(true);

344

emailNotifier.setSendOnFailure(true);

345

emailNotifier.setSendOnSuccess(false);

346

emailNotifier.setAddress("team@example.com");

347

348

ci.addNotifier(emailNotifier);

349

model.setCiManagement(ci);

350

```