mirror of https://github.com/acidanthera/audk.git
551 lines
15 KiB
Java
551 lines
15 KiB
Java
|
/*
|
||
|
*
|
||
|
* Copyright 2004 The Ant-Contrib project
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
package net.sf.antcontrib.cpptasks;
|
||
|
|
||
|
import java.io.IOException;
|
||
|
import java.io.Writer;
|
||
|
|
||
|
import org.apache.tools.ant.BuildException;
|
||
|
import org.apache.tools.ant.Project;
|
||
|
import org.apache.tools.ant.types.DataType;
|
||
|
import org.apache.tools.ant.types.Reference;
|
||
|
|
||
|
/**
|
||
|
* Version Information. (Non-functional prototype)
|
||
|
*
|
||
|
*/
|
||
|
public class VersionInfo extends DataType {
|
||
|
/**
|
||
|
* if property.
|
||
|
*/
|
||
|
private String ifCond;
|
||
|
/**
|
||
|
* unless property.
|
||
|
*/
|
||
|
private String unlessCond;
|
||
|
|
||
|
/**
|
||
|
* extends property.
|
||
|
*/
|
||
|
private String extendsId;
|
||
|
|
||
|
/**
|
||
|
* file version.
|
||
|
*
|
||
|
*/
|
||
|
private String fileVersion;
|
||
|
/**
|
||
|
* Product version.
|
||
|
*
|
||
|
*/
|
||
|
private String productVersion;
|
||
|
/**
|
||
|
* file language.
|
||
|
*
|
||
|
*/
|
||
|
private String language;
|
||
|
|
||
|
/**
|
||
|
* comments.
|
||
|
*
|
||
|
*/
|
||
|
private String fileComments;
|
||
|
/**
|
||
|
* Company name.
|
||
|
*
|
||
|
*/
|
||
|
private String companyName;
|
||
|
/**
|
||
|
* Description.
|
||
|
*
|
||
|
*/
|
||
|
private String description;
|
||
|
/**
|
||
|
* internal name.
|
||
|
*/
|
||
|
private String internalName;
|
||
|
/**
|
||
|
* legal copyright.
|
||
|
*
|
||
|
*/
|
||
|
private String legalCopyright;
|
||
|
/**
|
||
|
* legal trademark.
|
||
|
*
|
||
|
*/
|
||
|
private String legalTrademark;
|
||
|
/**
|
||
|
* original filename.
|
||
|
*
|
||
|
*/
|
||
|
private String originalFilename;
|
||
|
/**
|
||
|
* private build.
|
||
|
*
|
||
|
*/
|
||
|
private String privateBuild;
|
||
|
/**
|
||
|
* product name.
|
||
|
*
|
||
|
*/
|
||
|
private String productName;
|
||
|
/**
|
||
|
* Special build
|
||
|
*/
|
||
|
private String specialBuild;
|
||
|
/**
|
||
|
* compatibility version
|
||
|
*
|
||
|
*/
|
||
|
private String compatibilityVersion;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Constructor.
|
||
|
*
|
||
|
*/
|
||
|
public VersionInfo() {
|
||
|
}
|
||
|
public void execute() throws org.apache.tools.ant.BuildException {
|
||
|
throw new org.apache.tools.ant.BuildException(
|
||
|
"Not an actual task, but looks like one for documentation purposes");
|
||
|
}
|
||
|
/**
|
||
|
* Returns true if the define's if and unless conditions (if any) are
|
||
|
* satisfied.
|
||
|
*
|
||
|
* @exception BuildException
|
||
|
* throws build exception if name is not set
|
||
|
*/
|
||
|
public final boolean isActive() throws BuildException {
|
||
|
return CUtil.isActive(getProject(), ifCond, unlessCond);
|
||
|
}
|
||
|
/**
|
||
|
* Sets an id that can be used to reference this element.
|
||
|
*
|
||
|
* @param id
|
||
|
* id
|
||
|
*/
|
||
|
public void setId(String id) {
|
||
|
//
|
||
|
// this is actually accomplished by a different
|
||
|
// mechanism, but we can document it
|
||
|
//
|
||
|
}
|
||
|
/**
|
||
|
* Sets the name of a version info that this info extends.
|
||
|
*
|
||
|
* @param id
|
||
|
* id
|
||
|
*/
|
||
|
public void setExtends(String id) {
|
||
|
extendsId = id;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Sets the property name for the 'if' condition.
|
||
|
*
|
||
|
* The define will be ignored unless the property is defined.
|
||
|
*
|
||
|
* The value of the property is insignificant, but values that would imply
|
||
|
* misinterpretation ("false", "no") will throw an exception when
|
||
|
* evaluated.
|
||
|
*
|
||
|
* @param propName
|
||
|
* property name
|
||
|
*/
|
||
|
public final void setIf(String propName) {
|
||
|
ifCond = propName;
|
||
|
}
|
||
|
/**
|
||
|
* Specifies that this element should behave as if the content of the
|
||
|
* element with the matching id attribute was inserted at this location. If
|
||
|
* specified, no other attributes should be specified.
|
||
|
*
|
||
|
*/
|
||
|
public void setRefid(Reference r) throws BuildException {
|
||
|
super.setRefid(r);
|
||
|
}
|
||
|
/**
|
||
|
* Set the property name for the 'unless' condition.
|
||
|
*
|
||
|
* If named property is set, the define will be ignored.
|
||
|
*
|
||
|
* The value of the property is insignificant, but values that would imply
|
||
|
* misinterpretation ("false", "no") of the behavior will throw an
|
||
|
* exception when evaluated.
|
||
|
*
|
||
|
* @param propName
|
||
|
* name of property
|
||
|
*/
|
||
|
public final void setUnless(String propName) {
|
||
|
unlessCond = propName;
|
||
|
}
|
||
|
/**
|
||
|
* Gets file version.
|
||
|
* @return file version, may be null.
|
||
|
*
|
||
|
*/
|
||
|
public String getFileversion() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getFileversion();
|
||
|
}
|
||
|
return fileVersion;
|
||
|
}
|
||
|
/**
|
||
|
* Gets Product version.
|
||
|
* @return product version, may be null
|
||
|
*/
|
||
|
public String getProductversion() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getProductversion();
|
||
|
}
|
||
|
return productVersion;
|
||
|
}
|
||
|
/**
|
||
|
* Gets compatibility version.
|
||
|
* @return compatibility version, may be null
|
||
|
*/
|
||
|
public String getCompatibilityversion() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getCompatibilityversion();
|
||
|
}
|
||
|
return compatibilityVersion;
|
||
|
}
|
||
|
/**
|
||
|
* Gets file language, should be an IETF RFC 3066 identifier, for example, en-US.
|
||
|
* @return language, may be null.
|
||
|
*/
|
||
|
public String getLanguage() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getLanguage();
|
||
|
}
|
||
|
return language;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gets comments.
|
||
|
* @return comments, may be null.
|
||
|
*/
|
||
|
public String getFilecomments() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getFilecomments();
|
||
|
}
|
||
|
return fileComments;
|
||
|
}
|
||
|
/**
|
||
|
* Gets Company name.
|
||
|
* @return company name, may be null.
|
||
|
*/
|
||
|
public String getCompanyname() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getCompanyname();
|
||
|
}
|
||
|
return companyName;
|
||
|
}
|
||
|
/**
|
||
|
* Gets Description.
|
||
|
* @return description, may be null.
|
||
|
*/
|
||
|
public String getDescription() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getDescription();
|
||
|
}
|
||
|
return description;
|
||
|
}
|
||
|
/**
|
||
|
* Gets internal name.
|
||
|
* @return internal name, may be null.
|
||
|
*/
|
||
|
public String getInternalname() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getInternalname();
|
||
|
}
|
||
|
return internalName;
|
||
|
}
|
||
|
/**
|
||
|
* Gets legal copyright.
|
||
|
* @return legal copyright, may be null.
|
||
|
*/
|
||
|
public String getLegalcopyright() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getLegalcopyright();
|
||
|
}
|
||
|
return legalCopyright;
|
||
|
}
|
||
|
/**
|
||
|
* Gets legal trademark.
|
||
|
* @return legal trademark, may be null;
|
||
|
*/
|
||
|
public String getLegaltrademark() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getLegaltrademark();
|
||
|
}
|
||
|
return legalTrademark;
|
||
|
}
|
||
|
/**
|
||
|
* Gets original filename.
|
||
|
* @return original filename, may be null.
|
||
|
*/
|
||
|
public String getOriginalfilename() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getOriginalfilename();
|
||
|
}
|
||
|
return originalFilename;
|
||
|
}
|
||
|
/**
|
||
|
* Gets private build.
|
||
|
* @return private build, may be null.
|
||
|
*/
|
||
|
public String getPrivatebuild() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getPrivatebuild();
|
||
|
}
|
||
|
return privateBuild;
|
||
|
}
|
||
|
/**
|
||
|
* Gets product name.
|
||
|
* @return product name, may be null.
|
||
|
*/
|
||
|
public String getProductname() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getProductname();
|
||
|
}
|
||
|
return productName;
|
||
|
}
|
||
|
/**
|
||
|
* Special build
|
||
|
* @return special build, may be null.
|
||
|
*/
|
||
|
public String getSpecialbuild() {
|
||
|
if (isReference()) {
|
||
|
VersionInfo refVersion = (VersionInfo)
|
||
|
getCheckedRef(VersionInfo.class,
|
||
|
"VersionInfo");
|
||
|
return refVersion.getSpecialbuild();
|
||
|
}
|
||
|
return specialBuild;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets file version.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setFileversion(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
fileVersion = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets product version.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setProductversion(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
productVersion = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets compatibility version.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setCompatibilityversion(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
compatibilityVersion = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets language.
|
||
|
* @param value new value, should be an IETF RFC 3066 language identifier.
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setLanguage(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
language = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets comments.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setFilecomments(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
fileComments = value;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets company name.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setCompanyname(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
companyName = value;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Sets internal name. Internal name will automatically be
|
||
|
* specified from build step, only set this value if
|
||
|
* intentionally overriding that value.
|
||
|
*
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setInternalname(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
internalName = value;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets legal copyright.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setLegalcopyright(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
legalCopyright = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets legal trademark.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setLegaltrademark(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
legalTrademark = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets original name. Only set this value if
|
||
|
* intentionally overriding the value from the build set.
|
||
|
*
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setOriginalfilename(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
originalFilename = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets private build.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setPrivatebuild(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
privateBuild = value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets product name.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setProductname(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
productName= value;
|
||
|
}
|
||
|
/**
|
||
|
* Sets private build.
|
||
|
* @param value new value
|
||
|
* @throws BuildException if specified with refid
|
||
|
*/
|
||
|
public void setSpecialbuild(String value) throws BuildException {
|
||
|
if (isReference()) {
|
||
|
throw tooManyAttributes();
|
||
|
}
|
||
|
specialBuild = value;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Writes windows resource
|
||
|
* @param writer writer, may not be null.
|
||
|
* @param project project, may not be null
|
||
|
* @param executableName name of executable
|
||
|
*/
|
||
|
public void writeResource(final Writer writer,
|
||
|
final Project p,
|
||
|
final String executableName) throws IOException {
|
||
|
// TODO:
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|