|
From: Chris M. <cm...@us...> - 2007-05-03 18:28:41
|
User: cmicali
Date: 07/05/03 11:24:12
Added: etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks
AndroMDA.MSBuild.Tasks.csproj AndroMDA.cs
ConfigFile.cs Maven2Proxy.cs
etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks/Properties
AssemblyInfo.cs
etc/andromda-dotnet/AndroMDA.MSBuild AndroMDA.MSBuild.sln
Log:
Revision Changes Path
1.1 plugins/etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks/AndroMDA.MSBuild.Tasks.csproj
Index: AndroMDA.MSBuild.Tasks.csproj
===================================================================
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E9C87326-E6E1-4F0D-B75F-D72C1D6DAA36}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AndroMDA.MSBuild.Tasks</RootNamespace>
<AssemblyName>AndroMDA.MSBuild.Tasks</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="Microsoft.Build.Utilities" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AndroMDA.cs" />
<Compile Include="ConfigFile.cs" />
<Compile Include="Maven2Proxy.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>copy $(TargetPath) D:\projects\VSProjects\AndroMDATaskTest\Lib</PostBuildEvent>
</PropertyGroup>
</Project>
1.1 plugins/etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks/AndroMDA.cs
Index: AndroMDA.cs
===================================================================
using System;
using System.Text;
using Microsoft.Build.Utilities;
using System.Collections;
namespace AndroMDA.MSBuild.Tasks
{
public class AndroMDA : ToolTask
{
public const string VERSION = "1.0";
#region Member Variables
private bool m_synchronizeProjectTree = false;
private bool m_offline = false;
private string m_executablePath;
private string m_commandLine;
#endregion
#region Properties
public bool SynchronizeProjectTree
{
get { return m_synchronizeProjectTree; }
set { m_synchronizeProjectTree = value; }
}
public bool Offline
{
get { return m_offline; }
set { m_offline = value; }
}
protected override string ToolName
{
get { return m_executablePath; }
}
#endregion
protected override void LogEventsFromTextOutput(string singleLine, Microsoft.Build.Framework.MessageImportance messageImportance)
{
base.LogEventsFromTextOutput(singleLine, messageImportance);
}
public AndroMDA()
{
string java_home = System.Environment.GetEnvironmentVariable("JAVA_HOME");
string maven_home = System.Environment.GetEnvironmentVariable("M2_HOME");
string maven_java_exe = java_home + "\\bin\\java.exe";
string maven_opts = System.Environment.GetEnvironmentVariable("MAVEN_OPTS");
string maven_cmd_line_args = "install ";
string classworlds_jar = string.Empty;
if (Offline) maven_cmd_line_args += "-o ";
if (java_home == null || java_home == string.Empty)
{
throw new Exception("Error: Maven cannot run because the JAVA_HOME environment variable is not set.\nError: Please check your java installation.");
}
if (maven_home == null || maven_home == string.Empty)
{
throw new Exception("Error: Maven cannot run because the M2_HOME environment variable is not set.\nError: Please check that maven 2.x has been correctly installed.");
}
if (maven_opts == null || maven_opts == string.Empty)
{
maven_opts = "-Xmx256m";
}
string[] classworldJars = System.IO.Directory.GetFiles(maven_home + "\\core\\boot", "classworlds-*.jar", System.IO.SearchOption.TopDirectoryOnly);
classworlds_jar = classworldJars[0];
m_executablePath = maven_java_exe;
m_commandLine = maven_opts +
" -classpath \"" +
classworlds_jar + "\" \"-Dclassworlds.conf=" +
maven_home + "\\bin\\m2.conf\" " +
"\"-Dmaven.home=" + maven_home +
"\" org.codehaus.classworlds.Launcher "
+ maven_cmd_line_args;
}
public override bool Execute()
{
Log.LogMessage("AndroMDA MSBuild Task v" + VERSION);
if (SynchronizeProjectTree)
{
DoSynchronizeProjectTree();
}
return base.Execute();
}
protected override string GenerateFullPathToTool()
{
return m_executablePath;
}
protected override string GenerateCommandLineCommands()
{
return m_commandLine;
}
private void DoSynchronizeProjectTree()
{
// TODO: Sync project tree
}
}
}
1.1 plugins/etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks/ConfigFile.cs
Index: ConfigFile.cs
===================================================================
// Android/VS
// (c)2007 AndroMDA.org
#region Using statements
using System;
using System.IO;
using System.Collections;
using System.Text;
using System.Xml;
#endregion
namespace AndroMDA.VS80AddIn
{
public class ConfigFile
{
#region Member Variables
private Hashtable m_configHash = null;
private string m_fileName = string.Empty;
private char m_keyValueDelimiter = '=';
private char m_commentDelimiter = '#';
#endregion
#region Properties
public string this[string key]
{
get
{
return GetValueResolved(key);
}
set
{
m_configHash[key] = value;
}
}
public ICollection Keys
{
get
{
return m_configHash.Keys;
}
}
public ICollection Values
{
get
{
return m_configHash.Values;
}
}
public int Count
{
get
{
return m_configHash.Count;
}
}
#endregion
public ConfigFile()
{
Init();
}
public ConfigFile(string filename)
{
Init();
LoadFromFile(filename);
}
private void Init()
{
m_configHash = new Hashtable();
}
public void Clear()
{
m_configHash.Clear();
m_fileName = string.Empty;
}
public void Add(string key, string value)
{
m_configHash.Add(key, value);
}
public void Remove(string key)
{
m_configHash.Remove(key);
}
public string GetValue(string key)
{
if (m_configHash[key] == null)
{
return string.Empty;
}
else
{
return (string)m_configHash[key];
}
}
public string GetPath(string key)
{
string path = GetValueResolved(key);
path = path.Replace('/', '\\');
path = path.Replace("jar:", string.Empty);
path = path.Replace("file:", string.Empty);
int position = path.LastIndexOf('!');
if (position != -1)
{
path = path.Substring(0, position);
}
return path;
}
public void Contains(string key)
{
m_configHash.Contains(key);
}
public void LoadFromFile(string filename)
{
LoadFromFile(filename, true);
}
public void LoadFromFile(string filename, bool clearConfig)
{
try
{
if (clearConfig)
{
Clear();
}
if (System.IO.File.Exists(filename))
{
using (StreamReader sr = new StreamReader(filename))
{
while (!sr.EndOfStream)
{
string line = sr.ReadLine().Trim();
if (line != string.Empty && line[0] != m_commentDelimiter && line.Contains("="))
{
string[] pair = line.Split(new char[] { m_keyValueDelimiter }, 2);
m_configHash[pair[0]] = pair[1];
}
}
sr.Close();
}
}
else
{
// Create an empty file
StreamWriter sw = new StreamWriter(filename);
sw.Close();
}
m_fileName = filename;
}
catch (Exception e)
{
throw new Exception("Error while trying to load " + filename + ": " + e.Message, e);
}
}
public void LoadFromXML(string filename)
{
LoadFromXML(filename, string.Empty, true);
}
public void LoadFromXML(string filename, string namePrefixToAdd)
{
LoadFromXML(filename, namePrefixToAdd, true);
}
public void LoadFromXML(string filename, string namePrefixToAdd, bool clearConfig)
{
try
{
if (clearConfig)
{
Clear();
}
using (XmlTextReader r = new XmlTextReader(filename))
{
while (r.Name.ToLower() != "properties" && !r.EOF) { r.Read(); }
if (!r.EOF)
{
r.Read();
while (r.NodeType != XmlNodeType.EndElement && !r.EOF)
{
if (r.NodeType == XmlNodeType.Element)
{
string value = string.Empty;
string name = namePrefixToAdd + r.Name;
while (r.NodeType != XmlNodeType.EndElement)
{
r.Read();
if (r.NodeType == XmlNodeType.Text) value += r.Value;
}
m_configHash[name] = value;
}
r.Read();
}
}
r.Close();
}
m_fileName = filename;
}
catch (Exception e)
{
throw new Exception("Error while trying to load " + filename + ": " + e.Message, e);
}
}
public void Save()
{
Save(m_fileName);
}
public void Save(string filename)
{
StreamWriter sw = new StreamWriter(filename);
foreach (string key in this.Keys)
{
sw.WriteLine(key + m_keyValueDelimiter + this[key]);
}
sw.Close();
}
public void ResolveVariables()
{
Hashtable m_values = (Hashtable)m_configHash.Clone();
bool changesApplied = false;
foreach (string key in this.Keys)
{
foreach (string variableKey in this.Keys)
{
string value = this[key];
if (value.Contains("${" + variableKey + "}"))
{
value = value.Replace("${" + variableKey + "}", this[variableKey]);
m_values[key] = value;
changesApplied = true;
}
}
}
if (changesApplied)
{
m_configHash = m_values;
}
}
public string GetValueResolved(string key)
{
string resolvedValue = (string)m_configHash[key];
if (resolvedValue == null)
{
return string.Empty;
}
foreach (string variableKey in this.Keys)
{
if (resolvedValue.Contains("${" + variableKey + "}"))
{
string replacementValue = (string)m_configHash[variableKey];
if (replacementValue.Contains("${"))
{
replacementValue = GetValueResolved(variableKey);
}
resolvedValue = resolvedValue.Replace("${" + variableKey + "}", replacementValue);
}
}
return resolvedValue;
}
}
}
1.1 plugins/etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks/Maven2Proxy.cs
Index: Maven2Proxy.cs
===================================================================
using System;
using System.Collections.Generic;
using System.Text;
namespace AndroMDA.MSBuild.Tasks
{
class Maven2Proxy
{
}
}
1.1 plugins/etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.Tasks/Properties/AssemblyInfo.cs
Index: AssemblyInfo.cs
===================================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("AndroMDA.MSBuild.Tasks")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HP 6400 XP v1.0")]
[assembly: AssemblyProduct("AndroMDA.MSBuild.Tasks")]
[assembly: AssemblyCopyright("Copyright © HP 6400 XP v1.0 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("87ab0597-8e57-463e-a3a5-17a53dda620b")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion(AndroMDA.MSBuild.Tasks.AndroMDA.VERSION)]
[assembly: AssemblyFileVersion(AndroMDA.MSBuild.Tasks.AndroMDA.VERSION)]
1.1 plugins/etc/andromda-dotnet/AndroMDA.MSBuild/AndroMDA.MSBuild.sln
Index: AndroMDA.MSBuild.sln
===================================================================

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AndroMDA.MSBuild.Tasks", "AndroMDA.MSBuild.Tasks\AndroMDA.MSBuild.Tasks.csproj", "{E9C87326-E6E1-4F0D-B75F-D72C1D6DAA36}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E9C87326-E6E1-4F0D-B75F-D72C1D6DAA36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9C87326-E6E1-4F0D-B75F-D72C1D6DAA36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9C87326-E6E1-4F0D-B75F-D72C1D6DAA36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E9C87326-E6E1-4F0D-B75F-D72C1D6DAA36}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
|