4.3 KiB
Executable file
4.3 KiB
Executable file
Bld Extension to Create or Modify Properties Files
An extension for creating or modifying property files with bld. It is inspired by the ant PropertyFile task.
@BuildCommand
public void updateMajor() throws Exception {
new PropertyFileOperation(this)
.file("version.properties")
.entry(new Entry("version.major").defaultValue(1).type(Types.INT).operation(Operations.ADD))
.entry(new Entry("version.minor").value(0))
.entry(new Entry("version.patch").value(0))
.execute();
}
To invoke the updateMajor
command:
./bld updateMajor
PropertyFileOperation
Attribute | Description | Required |
---|---|---|
file |
The location of the properties files to modify. | Yes |
comment |
Comment to be inserted at the top of the properties file. | No |
failOnWarning |
If set to true , will fail on any warnings. |
No |
Entry
The entry
function is used to specify edits to be made to the properties file.
Attribute | Description |
---|---|
key |
The name of the property name/value pair. |
value |
The value of the property. |
default |
The initial value to set for the property if not already defined. For Type.DATE , the now keyword can be used. |
type |
Tread the value as Types.INT , Types.DATE , or Types.STRING . If none specified, Types.STRING is assumed. |
operation |
See operations. |
pattern |
For Types.INT and Types.DATE only. If present, will parse the value as DecimalFormat or SimpleDateFormat patterns, respectively. |
unit |
The unit value to be applied to Operations.ADD and Operations.SUBTRACT for Types.DATE . See Units. |
key
is required. value
or default
are required unless the operation
is Operations.DELETE
.
Operations
The following operations are available:
Operation | Description |
---|---|
Operations.ADD |
Adds a value to an entry. |
Operations.DELETE |
Deletes an entry. |
Operations.SET |
Sets the entry value. This is the default operation. |
Operations.SUBTRACT |
Subtracts a value from the entry. For Types.INT and Types.DATE only. |
Units
The following units are available for Types.DATE
with Operations.ADD
and Operations.SUBTRACT
:
Units.MILLISECOND
Units.SECOND
Units.MINUTE
Units.HOUR
Units.DAY
Units.WEEK
Units.MONTH
Units.YEAR
Rules
The rules used when setting a property value are:
- If only
value
is specified, the property is set to it regardless of its previous value. - If only
default
is specified and the property previously existed, it is unchanged. - If only
default
is specified and the property did not exist, the property is set todefault
. - If
value
anddefault
are both specified and the property previously existed, the property is set tovalue
. - If
value
anddefault
are both specified and the property did not exist, the property is set todefault
.
Operations occur after the rules are evaluated.
Differences with the ant PropertyFile task
- The comments and layout of the original property file will not be preserved.
- The
jdkproperties
parameter is not implemented. - The default
Entry.Types.DATE
pattern isyyyy-MM-dd HH:mm
and notyyyy/MM/dd HH:mm
.