First Commit - Source Code from Reply
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
@set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
|
||||
@set PATH=%JAVA_HOME%/bin
|
||||
@call java -jar jars\VirtOperatorScriptGen.jar
|
||||
Binary file not shown.
@@ -0,0 +1,115 @@
|
||||
package it.valueteam.standartdeliverablegenerator;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class VirtOperatorScriptGen {
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
final String PARAGRAFO_1 = "5.3.3";
|
||||
final String PARAGRAFO_2 = "10.1";
|
||||
final String INSERT_SLA = "INSERT INTO MNP_IMPORTI_SLA_OPERATORE (ID_OPERATORE, SLA, IMPORTO) VALUES (";
|
||||
|
||||
Scanner sc = new Scanner(System.in);
|
||||
|
||||
System.out.print("Digitare il path di destinazione degli script: ");
|
||||
String folder = sc.nextLine().trim();
|
||||
|
||||
System.out.println();
|
||||
System.out.println();
|
||||
|
||||
System.out.print(getInputMessage("Codice descrittivo", PARAGRAFO_1));
|
||||
String idOperatore = sc.nextLine().toUpperCase().trim();
|
||||
|
||||
System.out.print(getInputMessage("Descrizione", PARAGRAFO_1));
|
||||
String descrizione = sc.nextLine().trim();
|
||||
|
||||
System.out.print(getInputMessage("Codice amministrativo", PARAGRAFO_1));
|
||||
String idAmministrativo = sc.nextLine().toUpperCase().trim();
|
||||
|
||||
System.out.print(getInputMessage("Codice operatore di rete", PARAGRAFO_1));
|
||||
String idOLO = sc.nextLine().toUpperCase().trim();
|
||||
|
||||
System.out.print(getInputMessage("Codice gestore", PARAGRAFO_2));
|
||||
String idGestore = sc.nextLine().toUpperCase().trim();
|
||||
|
||||
String filename = folder + "/dbcDML_" + idOperatore + ".sql";
|
||||
File fout = new File(filename);
|
||||
FileOutputStream fos = new FileOutputStream(fout);
|
||||
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
|
||||
|
||||
bw.write("-- INSERIMENTO " + descrizione + " IN ANAGRAFICA SCHEMA MNP COME VIRTUALE");
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO MNP_ANAGRAFICA_OPERATORI (ID_OPERATORE, TIPO_OPERATORE, GESTORE_AOM, ID_AMMINISTRATIVO, INIZIALE_ID_AMM, DESCRIZIONE, ATTIVO) VALUES ");
|
||||
bw.newLine();
|
||||
bw.write("\t\t('" + idOperatore + "', 'VIRT', '" + idOLO + "', '" + idAmministrativo + "', '" + idAmministrativo.substring(0, 1) + "', '" + descrizione + "', 'N');");
|
||||
bw.newLine();
|
||||
bw.newLine();
|
||||
bw.newLine();
|
||||
|
||||
bw.write("-- L'Operatore deve confermare la Capacita' di Evasione di " + descrizione);
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO MNP_EVASIONE_REC (CAPACITA_MINIMA, CAPACITA_TOTALE, CAPACITA_EVASA_B, CAPACITA_EVASA_C, COD_OLO, ");
|
||||
bw.newLine();
|
||||
bw.write("CAPACITA_EVASA, CAPACITA_TOTALE_NUOVA, PERC_BU, DATA_UTILIZZO, DATA_UPDATE, ID_OPERATORE) VALUES ");
|
||||
bw.newLine();
|
||||
bw.write("(0, 0, 0, 0, " + idGestore + ", 0, 0, 50, NULL, NULL, '" + idOperatore + "');");
|
||||
bw.newLine();
|
||||
bw.newLine();
|
||||
bw.newLine();
|
||||
|
||||
bw.write("-- INSERIMENTO SLA VALORI PER " + descrizione);
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLAX', 10);");
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLAY', 10);");
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLAZ', 10);");
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLA0', 10);");
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLA1', 30);");
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLA2', 3);");
|
||||
bw.newLine();
|
||||
bw.write(INSERT_SLA + "'" + idOperatore + "', 'SLA3', 1);");
|
||||
bw.newLine();
|
||||
bw.close();
|
||||
|
||||
filename = folder + "/dbcgoDML_" + idOperatore + ".sql";
|
||||
fout = new File(filename);
|
||||
fos = new FileOutputStream(fout);
|
||||
bw = new BufferedWriter(new OutputStreamWriter(fos));
|
||||
|
||||
bw.write("-- INSERIMENTO " + descrizione + " SU DBCGO_ANAGRAFICA_OPERATORI");
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO DBCGO.DBCGO_ANAGRAFICA_OPERATORI (ID_OPERATORE, TIPO_OPERATORE, GESTORE_AOM, INIZIALE_ID_AMM, DESCRIZIONE) VALUES ");
|
||||
bw.newLine();
|
||||
bw.write("\t\t('" + idOperatore + "', 'VIRT', '" + idOLO + "', '" + idAmministrativo.substring(0, 1) + "', '" + descrizione + "');");
|
||||
bw.newLine();
|
||||
bw.newLine();
|
||||
bw.newLine();
|
||||
|
||||
bw.write("-- INSERIMENTO " + descrizione + " SU DBCGO_LOV");
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO DBCGO.DBCGO_LOV (LOV_ID, LOV_NAME, NAME, DESCR, ORDER_BY) VALUES (SEQ_LOV.nextval, 'AOM_DONOR', '" + idOperatore + "', '" + descrizione + "', null);");
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO DBCGO.DBCGO_LOV (LOV_ID, LOV_NAME, NAME, DESCR, ORDER_BY) VALUES (SEQ_LOV.nextval, 'AOM_RECIPIENT', '" + idOperatore + "', '" + descrizione + "', null);");
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO DBCGO.DBCGO_LOV (LOV_ID, LOV_NAME, NAME, DESCR, ORDER_BY) VALUES (SEQ_LOV.nextval, 'AOM_DONOR_SLA', '" + idOperatore + "', '" + descrizione + "', null);");
|
||||
bw.newLine();
|
||||
bw.write("INSERT INTO DBCGO.DBCGO_LOV (LOV_ID, LOV_NAME, NAME, DESCR, ORDER_BY) VALUES (SEQ_LOV.nextval, 'AOM_RECIPIENT_SLA', '" + idOperatore + "', '" + descrizione + "', null);");
|
||||
bw.newLine();
|
||||
bw.close();
|
||||
|
||||
System.out.print("\n\n\nGenerazione script eseguita con successo!!!");
|
||||
}
|
||||
|
||||
private static String getInputMessage(String descCampo, String paragrafo) {
|
||||
return "Digitare il campo \""+descCampo+"\" indicato nella tabella del paragrafo " + paragrafo + " del documento: ";
|
||||
}
|
||||
}
|
||||
132
dbcmnpsrc/FE/mnpdev/SecurityUtility/sorgenti_c/KeyUtil.c
Normal file
132
dbcmnpsrc/FE/mnpdev/SecurityUtility/sorgenti_c/KeyUtil.c
Normal file
@@ -0,0 +1,132 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/shm.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#define SHMSZ 27
|
||||
#define KEY 5625
|
||||
#define PERM 0600
|
||||
|
||||
|
||||
void scrivi(void) {
|
||||
|
||||
int indirizzo = 0;
|
||||
|
||||
char c;
|
||||
int shmid;
|
||||
key_t key;
|
||||
char * shm, * s, * res;
|
||||
char str[80];
|
||||
int i;
|
||||
|
||||
printf("Inserisci indirizzo.\n");
|
||||
scanf("%d",&indirizzo);
|
||||
printf("Indirizzo: %d \n",indirizzo);
|
||||
|
||||
|
||||
//key = KEY;
|
||||
key = (key_t)indirizzo;
|
||||
|
||||
/*
|
||||
* Create the segment.
|
||||
*/
|
||||
if ((shmid = shmget(key, SHMSZ, IPC_CREAT | PERM)) < 0) {
|
||||
perror("shmget");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now we attach the segment to our data space.
|
||||
*/
|
||||
if ((shm = shmat(shmid, NULL, 0)) == (char * ) - 1) {
|
||||
perror("shmat");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
res = getpass("password:");
|
||||
|
||||
s = shm;
|
||||
int j = strlen(res);
|
||||
for (i = 0; i <= j; i++)
|
||||
* s++ = * res++;
|
||||
* s = NULL;
|
||||
|
||||
printf("Scrittura terminata.\n");
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void cancella(void) {
|
||||
|
||||
int indirizzo = 0;
|
||||
|
||||
int shmid;
|
||||
key_t key;
|
||||
char *shm, *s;
|
||||
struct shmid_ds * shmid_ds;
|
||||
int rtrn;
|
||||
|
||||
printf("Inserisci indirizzo (x per usare il default).\n");
|
||||
rtrn = scanf("%d",&indirizzo);
|
||||
if(rtrn!=0) {
|
||||
printf("Indirizzo: %d \n",indirizzo);
|
||||
key = (key_t)indirizzo;
|
||||
}
|
||||
else {
|
||||
printf("Indirizzo: %d \n",KEY);
|
||||
key = KEY;
|
||||
}
|
||||
|
||||
/*
|
||||
* Locate the segment.
|
||||
*/
|
||||
if ((shmid = shmget(key, SHMSZ, PERM)) < 0) {
|
||||
perror("shmget");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now we attach the segment to our data space.
|
||||
*/
|
||||
if ((shm = shmat(shmid, NULL, 0)) == (char *) -1) {
|
||||
perror("shmat");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((rtrn = shmctl(shmid, IPC_RMID, shmid_ds)) == -1) {
|
||||
perror("shmctl");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("Dati cancellati.\n");
|
||||
exit(0);
|
||||
|
||||
}
|
||||
|
||||
main(int argc, char * argv[]) {
|
||||
// int i;
|
||||
//
|
||||
// printf("argc = %d\n", argc);
|
||||
//
|
||||
// for (i = 0; i < argc; i++)
|
||||
// printf("argv[%d] = \"%s\"\n", i, argv[i]);
|
||||
//
|
||||
// if ((argc!=2) ||
|
||||
// ((argc==2) && (argv[1][0]!='s') && (argv[1][0]!='c'))) {
|
||||
// printf("Usage: shm_server [s|c]\n");
|
||||
// }
|
||||
// else {
|
||||
// printf("1\n");
|
||||
// if (argv[1][0] == 's')
|
||||
// scrivi();
|
||||
// else {
|
||||
// printf("2\n");
|
||||
// cancella();
|
||||
// }
|
||||
// }
|
||||
cancella();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
gcc -fPIC -o libSecUtility.so -shared -I/usr/java14/include -static-libgcc it_valueteam_securityutility_KeyJNIBridge.c
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
gcc -o pswd.so pswd.c
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/shm.h>
|
||||
#include <stdio.h>
|
||||
#include <jni.h>
|
||||
#include "it_valueteam_securityutility_KeyJNIBridge.h"
|
||||
|
||||
#define SHMSZ 27
|
||||
//#define KEY 5678
|
||||
#define KEY 5650
|
||||
#define PERM 0600
|
||||
|
||||
JNIEXPORT jbyteArray JNICALL Java_it_valueteam_securityutility_KeyJNIBridge_readKey
|
||||
(JNIEnv * env, jobject obj, jint indirizzo){
|
||||
|
||||
int shmid;
|
||||
int i = 0;
|
||||
key_t key;
|
||||
char *shm, *s;
|
||||
jbyteArray result;
|
||||
char buffer[24] = "12345123451234512345123";
|
||||
|
||||
//key = KEY;
|
||||
key = (key_t)indirizzo;
|
||||
|
||||
result = (*env)->NewByteArray(env,24);
|
||||
if(result==NULL) {
|
||||
printf("Allocazione fallita.\n");
|
||||
}
|
||||
|
||||
if ((shmid = shmget(key, SHMSZ, PERM)) < 0) {
|
||||
perror("shmget");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ((shm = shmat(shmid, NULL, 0)) == (char *) -1) {
|
||||
perror("shmat");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for(s = shm; i<24; s++) {
|
||||
buffer[i++] = *s;
|
||||
}
|
||||
|
||||
(*env)->SetByteArrayRegion(env,result,0,24,buffer);
|
||||
return result;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_it_valueteam_securityutility_KeyJNIBridge_writeKey
|
||||
(JNIEnv * env, jobject obj, jint indirizzo, jbyteArray chiave) {
|
||||
|
||||
int shmid;
|
||||
key_t key;
|
||||
char * shm, *s;
|
||||
int i;
|
||||
jbyte *start;
|
||||
|
||||
//key = KEY;
|
||||
key = (key_t)indirizzo;
|
||||
|
||||
printf("Inizio scrittura.\n");
|
||||
|
||||
/*
|
||||
* Create the segment.
|
||||
*/
|
||||
if ((shmid = shmget(key, SHMSZ, IPC_CREAT | PERM)) < 0) {
|
||||
perror("shmget");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now we attach the segment to our data space.
|
||||
*/
|
||||
if ((shm = shmat(shmid, NULL, 0)) == (char * ) - 1) {
|
||||
perror("shmat");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
start = (*env)->GetByteArrayElements(env,chiave,NULL);
|
||||
s = shm;
|
||||
for(i=0;i<24;i++) {
|
||||
* s++ = start[i];
|
||||
}
|
||||
(*env)->ReleaseByteArrayElements(env, chiave, start, 0);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class itm_valueteam_securityutility_KeyJNIBridge */
|
||||
|
||||
#ifndef _Included_it_valueteam_securityutility_KeyJNIBridge
|
||||
#define _Included_it_valueteam_securityutility_KeyJNIBridge
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* Class: it_valueteam_securityutility_KeyJNIBridge
|
||||
* Method: readKey
|
||||
* Signature: (I)[B
|
||||
*/
|
||||
JNIEXPORT jbyteArray JNICALL Java_it_valueteam_securityutility_KeyJNIBridge_readKey
|
||||
(JNIEnv *, jobject, jint);
|
||||
|
||||
/*
|
||||
* Class: it_valueteam_securityutility_KeyJNIBridge
|
||||
* Method: writeKey
|
||||
* Signature: (I[B)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_it_valueteam_securityutility_KeyJNIBridge_writeKey
|
||||
(JNIEnv *, jobject, jint, jbyteArray);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
13
dbcmnpsrc/FE/mnpdev/SecurityUtility/sorgenti_c/pswd.c
Normal file
13
dbcmnpsrc/FE/mnpdev/SecurityUtility/sorgenti_c/pswd.c
Normal file
@@ -0,0 +1,13 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
|
||||
main(int argc, char * argv[]) {
|
||||
char * res;
|
||||
|
||||
res = getpass("Inserire valore: \n");
|
||||
printf("%s",res);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
* <p>Title: ChangePassword</p>
|
||||
* <p>Description: permette di modificare una password criptata in un file di properties</p>
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
* <p>Company: </p>
|
||||
* @author not attributable
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ChangePassword {
|
||||
|
||||
public ChangePassword(String[] args) {
|
||||
|
||||
String fileProp = null;
|
||||
String propName = null;
|
||||
|
||||
try {
|
||||
if (args.length == 2) {
|
||||
fileProp = args[0];
|
||||
propName = args[1];
|
||||
//read password
|
||||
String pwd = "";
|
||||
Process proc = Runtime.getRuntime().exec("pswd.so");
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.
|
||||
getInputStream()));
|
||||
pwd = reader.readLine();
|
||||
if (pwd!=null && pwd.length()>0) {
|
||||
//cripto
|
||||
CryptoUtility.getInstance().criptaFileEntry(fileProp, propName,pwd);
|
||||
}
|
||||
else
|
||||
System.out.println("Password vuota!!! ");
|
||||
}
|
||||
else {
|
||||
System.out.println(
|
||||
"Sintassi: ChangePassword <file di properties> <proprietà>");
|
||||
}
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**MAIN**/
|
||||
public static void main(String[] args) {
|
||||
ChangePassword changePassword = new ChangePassword(args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,359 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.*;
|
||||
import java.security.*;
|
||||
import java.util.*;
|
||||
import javax.crypto.*;
|
||||
|
||||
import javax.crypto.spec.DESedeKeySpec;
|
||||
|
||||
import sun.misc.*;
|
||||
|
||||
/**
|
||||
* <p>Title: </p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2005</p>
|
||||
* <p>Company: </p>
|
||||
* @author Paolo Marini
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class CryptoUtility {
|
||||
public static final String TRIPLE_DES_CHIPER = "DESede/ECB/PKCS5Padding";
|
||||
public static final String TRIPLE_DES_PREFIX = "{3DES}";
|
||||
public static final String TRIPLE_DES_KEY = "DESede";
|
||||
public static final int TRIPLE_DES_KEY_SIZE = 168;
|
||||
public static final String KEY_MISSING = "Symmetric Key Missing";
|
||||
|
||||
public static final String MEMORY_ADDRESS = "INDIRIZZO_KEY";
|
||||
public static final String FLAG_SHARED_KEY = "USE_CRYPTO_SHARED";
|
||||
public static final String FILE_KEY = "PATH_KEY";
|
||||
public static final String INDIRIZZO_DINAMICO = "USE_DYNAMIC_ADDRESS";
|
||||
public static final int INDIRIZZO_STATICO = 5625;
|
||||
|
||||
|
||||
private Key chiave3DES = null;
|
||||
private static CryptoUtility onlyInstance = null;
|
||||
|
||||
/**
|
||||
* Costruttore
|
||||
* @throws Exception
|
||||
*/
|
||||
private CryptoUtility() throws Exception{
|
||||
String fileChiave=null;
|
||||
int indirizzo;
|
||||
|
||||
String confFile = System.getProperty("security_conf_file");
|
||||
IniFile iniFile = new IniFile(confFile);
|
||||
Properties p = iniFile.getSection("main.properties");
|
||||
|
||||
if("true".equalsIgnoreCase(p.getProperty(FLAG_SHARED_KEY))) {
|
||||
indirizzo = "true".equalsIgnoreCase(p.getProperty(INDIRIZZO_DINAMICO))?
|
||||
Integer.parseInt(p.getProperty(MEMORY_ADDRESS)):
|
||||
INDIRIZZO_STATICO;
|
||||
try {
|
||||
readKey(indirizzo);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
System.out.println("Impossibile caricare la chiave dalla ram: verificare che la chiave sia presente.");
|
||||
throw new Exception("Impossibile caricare la chiave dalla ram.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
fileChiave = (String) p.get(FILE_KEY);
|
||||
loadKey(fileChiave);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Utilizzato da applicazioni che inizializzano esplicitamente l'api
|
||||
* di cifratura con init(). Il Properties è letto autonomamente prima dell'init.
|
||||
* @param config Le properties contenute nel file security.properties.
|
||||
* @throws Exception
|
||||
*/
|
||||
private CryptoUtility(Properties config) throws Exception {
|
||||
String fileChiave = null;
|
||||
int indirizzo;
|
||||
|
||||
if("true".equalsIgnoreCase(config.getProperty(FLAG_SHARED_KEY))) {
|
||||
indirizzo = "true".equalsIgnoreCase(config.getProperty(INDIRIZZO_DINAMICO))?
|
||||
Integer.parseInt(config.getProperty(MEMORY_ADDRESS)):
|
||||
INDIRIZZO_STATICO;
|
||||
try {
|
||||
readKey(indirizzo);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
System.out.println("Impossibile caricare la chiave dalla ram: verificare che la chiave sia presente.");
|
||||
throw new Exception("Impossibile caricare la chiave dalla ram.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
fileChiave = (String) config.get(FILE_KEY);
|
||||
loadKey(fileChiave);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Inizializzazione del framework di security
|
||||
* @param fileChiave String
|
||||
* @throws Exception
|
||||
* @return CryptoUtility
|
||||
*/
|
||||
public static CryptoUtility getInstance() throws Exception{
|
||||
if (onlyInstance==null) {
|
||||
synchronized(CryptoUtility.class) {
|
||||
if (onlyInstance==null) {
|
||||
onlyInstance = new CryptoUtility();
|
||||
}
|
||||
}
|
||||
}
|
||||
return onlyInstance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Utilizzato per inizializzare la classe prima delle operazioni di cifratura.
|
||||
* @param secConfig Le properties del file security.properties
|
||||
* @throws Exception
|
||||
*/
|
||||
public static void init(Properties secConfig) throws Exception{
|
||||
onlyInstance = new CryptoUtility(secConfig);
|
||||
}
|
||||
|
||||
/**
|
||||
* carica la chiave simmetrica di cifratura/decifratura
|
||||
* @param fileChiave String
|
||||
* @throws Exception
|
||||
*/
|
||||
private void loadKey(String fileChiave) throws Exception{
|
||||
ObjectInputStream in = null;
|
||||
|
||||
try {
|
||||
in = new ObjectInputStream(new FileInputStream(fileChiave));
|
||||
chiave3DES = (Key)in.readObject();
|
||||
}
|
||||
finally {
|
||||
if(in!=null) {
|
||||
try {
|
||||
in.close();
|
||||
}
|
||||
catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legge la chiave (raw byte) dalla shared memory attraverso il bridge JNI
|
||||
* @param indirizzo L'indirizzo della chiave nella memoria
|
||||
* @throws Exception
|
||||
*/
|
||||
private void readKey(int indirizzo) throws Exception{
|
||||
DESedeKeySpec spec = null;
|
||||
KeyJNIBridge bridge = new KeyJNIBridge();
|
||||
spec = new DESedeKeySpec(bridge.readKey(indirizzo));
|
||||
chiave3DES = SecretKeyFactory.getInstance(CryptoUtility.TRIPLE_DES_KEY).generateSecret(spec);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* funzione di criptazione
|
||||
* @param value String
|
||||
* @throws Exception
|
||||
* @return String
|
||||
*/
|
||||
public String cripta3DES(String value) throws Exception{
|
||||
byte[] res = null;
|
||||
Cipher cipher = Cipher.getInstance(TRIPLE_DES_CHIPER);
|
||||
cipher.init(Cipher.ENCRYPT_MODE, chiave3DES);
|
||||
byte[] val = value.getBytes();
|
||||
res = new byte[cipher.getOutputSize(val.length)];
|
||||
int size = cipher.update(val, 0, val.length, res, 0);
|
||||
size += cipher.doFinal(res,size);
|
||||
return toString(res,res.length);
|
||||
}
|
||||
|
||||
/**
|
||||
* funzione di decriptazione
|
||||
* @param value String
|
||||
* @throws Exception
|
||||
* @return String
|
||||
*/
|
||||
public String decripta3DES(String value) throws Exception{
|
||||
Cipher cipher = Cipher.getInstance(TRIPLE_DES_CHIPER);
|
||||
cipher.init(Cipher.DECRYPT_MODE, chiave3DES);
|
||||
return new String(cipher.doFinal(toByteArray(value)));
|
||||
}
|
||||
|
||||
/**
|
||||
* funzione di decriptazione che automaticamte elimina il prefisso 3DES
|
||||
* @param value String
|
||||
* @throws Exception
|
||||
* @return String
|
||||
*/
|
||||
public String decripta3DESWithPrefix(String value) throws Exception{
|
||||
return decripta3DES(value.substring(TRIPLE_DES_PREFIX.length()));
|
||||
}
|
||||
|
||||
|
||||
private static final String toString(byte[] bytes,int length) {
|
||||
BASE64Encoder encoder = new BASE64Encoder();
|
||||
String base64 = encoder.encode(bytes);
|
||||
return base64;
|
||||
}
|
||||
|
||||
private static final byte[] toByteArray(String string) throws Exception{
|
||||
BASE64Decoder decoder = new BASE64Decoder();
|
||||
byte[] raw = decoder.decodeBuffer(string);
|
||||
return raw;
|
||||
}
|
||||
|
||||
/**
|
||||
* decripta un inputstream ritornandone un inputstream uno con tutte le key in chiaro
|
||||
* @param filename String
|
||||
* @throws Exception
|
||||
* @return InputStream
|
||||
*/
|
||||
public InputStream getCleanFile(InputStream in) throws Exception {
|
||||
ByteArrayInputStream bin = null;
|
||||
String read = null;
|
||||
BufferedReader input = new BufferedReader(new InputStreamReader(in));
|
||||
String key = null;
|
||||
String value = null;
|
||||
String cleanValue = null;
|
||||
StringBuffer stringOutput = new StringBuffer();
|
||||
byte[] b = null;
|
||||
int idx = -1;
|
||||
while ( (read = input.readLine()) != null) {
|
||||
if ( (read.startsWith(";") || read.startsWith("#")))
|
||||
stringOutput.append(read + "\n");
|
||||
else {
|
||||
idx = read.indexOf("=");
|
||||
if (idx == -1)
|
||||
stringOutput.append(read + "\n");
|
||||
else {
|
||||
cleanValue = "";
|
||||
key = read.substring(0, idx);
|
||||
if (idx < read.length())
|
||||
value = read.substring(idx + 1, read.length());
|
||||
else
|
||||
value = "";
|
||||
cleanValue = value;
|
||||
if ( (key.startsWith(TRIPLE_DES_PREFIX)) && value != null &&
|
||||
value.length() > 0) {
|
||||
try {
|
||||
if (value.startsWith(TRIPLE_DES_PREFIX)) {
|
||||
cleanValue = decripta3DES(value.substring(TRIPLE_DES_PREFIX.
|
||||
length()));
|
||||
// System.out.println("decripta3DES:" + key);
|
||||
}
|
||||
// else
|
||||
// System.out.println("NOT decripta3DES:" + key);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
System.out.println("Errore durante il decript della chiave:"+key);
|
||||
ex.printStackTrace();
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
stringOutput.append(key + "=" + cleanValue + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
b = stringOutput.toString().getBytes();
|
||||
bin = new ByteArrayInputStream(b);
|
||||
return bin;
|
||||
}
|
||||
|
||||
/**
|
||||
* decripta un properties ritornandone uno con tutte le key in chiaro
|
||||
* @param inProperties Properties
|
||||
* @throws Exception
|
||||
* @return Properties
|
||||
*/
|
||||
public Properties getCleanProperties(Properties inProperties) throws Exception{
|
||||
String key=null;
|
||||
String value=null;
|
||||
String cleanValue=null;
|
||||
Properties outProperties = new Properties();
|
||||
|
||||
if ((inProperties!=null) && (inProperties.size()!=0)) {
|
||||
Enumeration e = inProperties.keys();
|
||||
|
||||
while (e.hasMoreElements()) {
|
||||
key = (String) e.nextElement();
|
||||
value = (String)inProperties.get(key);
|
||||
cleanValue = value;
|
||||
if ((key.startsWith(TRIPLE_DES_PREFIX)) && value!=null && value.length()>0) {
|
||||
try {
|
||||
if (value.startsWith(TRIPLE_DES_PREFIX)) {
|
||||
cleanValue = decripta3DES(value.substring(TRIPLE_DES_PREFIX.length()));
|
||||
// System.out.println("decripta3DES:"+key);
|
||||
}
|
||||
// else
|
||||
// System.out.println("NOT decripta3DES:"+key);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
System.out.println("Errore durante il decript della chiave:"+key);
|
||||
ex.printStackTrace();
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
outProperties.put(key,cleanValue);
|
||||
}
|
||||
}
|
||||
return outProperties;
|
||||
}
|
||||
|
||||
/**
|
||||
* Chipta una pwd della proprietÓ in ingresso del relativo file
|
||||
* @param file String
|
||||
* @param key String
|
||||
* @param value String
|
||||
* @throws Exception
|
||||
*/
|
||||
public void criptaFileEntry(String file, String key, String value) throws Exception {
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
ByteArrayInputStream bin = new ByteArrayInputStream(baos.toByteArray());
|
||||
baos = new ByteArrayOutputStream();
|
||||
PrintWriter writer = new PrintWriter(baos);
|
||||
BufferedReader reader = null;
|
||||
FileOutputStream out = null;
|
||||
|
||||
String pwd = TRIPLE_DES_PREFIX + cripta3DES(value);
|
||||
try {
|
||||
reader = new BufferedReader(new FileReader(file));
|
||||
String linea = null;
|
||||
while ( (linea = reader.readLine()) != null) {
|
||||
if (linea.startsWith(key)) {
|
||||
writer.println(key + "=" + pwd);
|
||||
}
|
||||
else {
|
||||
writer.println(linea);
|
||||
}
|
||||
}
|
||||
writer.close();
|
||||
reader.close();
|
||||
reader = null;
|
||||
baos.flush();
|
||||
out = new FileOutputStream(file);
|
||||
baos.writeTo(out);
|
||||
out.close();
|
||||
out = null;
|
||||
}
|
||||
finally {
|
||||
if (reader != null) {
|
||||
try {
|
||||
reader.close();
|
||||
}
|
||||
catch (IOException ex) {
|
||||
}
|
||||
}
|
||||
if (out != null) {
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,336 @@
|
||||
/* ====================================================================
|
||||
*
|
||||
* @PROJECT.FULLNAME@ @VERSION@ License.
|
||||
*
|
||||
* Copyright (c) @YEAR@ L2FProd.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. The end-user documentation included with the redistribution, if
|
||||
* any, must include the following acknowlegement:
|
||||
* "This product includes software developed by L2FProd.com
|
||||
* (http://www.L2FProd.com/)."
|
||||
* Alternately, this acknowlegement may appear in the software itself,
|
||||
* if and wherever such third-party acknowlegements normally appear.
|
||||
*
|
||||
* 4. The names "@PROJECT.FULLNAME@", "SkinLF" and "L2FProd.com" must not
|
||||
* be used to endorse or promote products derived from this software
|
||||
* without prior written permission. For written permission, please
|
||||
* contact info@L2FProd.com.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "SkinLF"
|
||||
* nor may "SkinLF" appear in their names without prior written
|
||||
* permission of L2FProd.com.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL L2FPROD.COM OR ITS CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*/
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.URL;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* @author $Author: valueteam\pocciac $
|
||||
* @created 27 avril 2002
|
||||
* @version $Revision: 1.1.10.1 $, $Date: 2006/08/24 15:59:26 $
|
||||
*/
|
||||
public class IniFile {
|
||||
|
||||
Properties sections;
|
||||
|
||||
/**
|
||||
* Constructor for the IniFile object
|
||||
*/
|
||||
public IniFile() {
|
||||
sections = new Properties();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for the IniFile object
|
||||
*
|
||||
* @param filename Description of Parameter
|
||||
* @exception FileNotFoundException Description of Exception
|
||||
*/
|
||||
public IniFile(String filename) throws FileNotFoundException {
|
||||
this();
|
||||
load(filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for the IniFile object
|
||||
*
|
||||
* @param url Description of Parameter
|
||||
* @exception IOException Description of Exception
|
||||
*/
|
||||
public IniFile(URL url) throws IOException {
|
||||
this();
|
||||
load(url.openStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for the IniFile object
|
||||
*
|
||||
* @param input Description of Parameter
|
||||
* @exception IOException Description of Exception
|
||||
*/
|
||||
public IniFile(InputStream input) throws IOException {
|
||||
this();
|
||||
load(input);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the KeyValue attribute of the IniFile object
|
||||
*
|
||||
* @param section The new KeyValue value
|
||||
* @param key The new KeyValue value
|
||||
* @param value The new KeyValue value
|
||||
*/
|
||||
public void setKeyValue(String section, String key, String value) {
|
||||
try {
|
||||
getSection(section).put(key, value);
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the Sections attribute of the IniFile object
|
||||
*
|
||||
* @return The Sections value
|
||||
*/
|
||||
public Properties getSections() {
|
||||
return sections;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the Section attribute of the IniFile object
|
||||
*
|
||||
* @param section Description of Parameter
|
||||
* @return The Section value
|
||||
*/
|
||||
public Properties getSection(String section) {
|
||||
return (Properties) (sections.get(section));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the NullOrEmpty attribute of the IniFile object
|
||||
*
|
||||
* @param section Description of Parameter
|
||||
* @param key Description of Parameter
|
||||
* @return The NullOrEmpty value
|
||||
*/
|
||||
public boolean isNullOrEmpty(String section, String key) {
|
||||
String value = getKeyValue(section, key);
|
||||
return (value == null || value.length() == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the KeyValue attribute of the IniFile object
|
||||
*
|
||||
* @param section Description of Parameter
|
||||
* @param key Description of Parameter
|
||||
* @return The KeyValue value
|
||||
*/
|
||||
public String getKeyValue(String section, String key) {
|
||||
try {
|
||||
return (String) getSection(section).get(key);
|
||||
} catch (NullPointerException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the KeyIntValue attribute of the IniFile object
|
||||
*
|
||||
* @param section Description of Parameter
|
||||
* @param key Description of Parameter
|
||||
* @return The KeyIntValue value
|
||||
*/
|
||||
public int getKeyIntValue(String section, String key) {
|
||||
return getKeyIntValue(section, key, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the KeyIntValue attribute of the IniFile object
|
||||
*
|
||||
* @param section Description of Parameter
|
||||
* @param key Description of Parameter
|
||||
* @param defaultValue Description of Parameter
|
||||
* @return The KeyIntValue value
|
||||
*/
|
||||
public int getKeyIntValue(String section, String key, int defaultValue) {
|
||||
String value = getKeyValue(section, key);
|
||||
if (value == null) {
|
||||
return defaultValue;
|
||||
}
|
||||
else {
|
||||
try {
|
||||
return Integer.parseInt(value);
|
||||
} catch (NumberFormatException e) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the KeysAndValues attribute of the IniFile object
|
||||
*
|
||||
* @param aSection Description of Parameter
|
||||
* @return The KeysAndValues value
|
||||
*/
|
||||
public String[][] getKeysAndValues(String aSection) {
|
||||
Properties section = getSection(aSection);
|
||||
if (section == null) {
|
||||
return null;
|
||||
}
|
||||
String[][] results = new String[section.size()][2];
|
||||
int i = 0;
|
||||
for (Enumeration f = section.keys(), g = section.elements(); f.hasMoreElements(); i++) {
|
||||
results[i][0] = (String) f.nextElement();
|
||||
results[i][1] = (String) g.nextElement();
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Description of the Method
|
||||
*
|
||||
* @param filename Description of Parameter
|
||||
* @exception FileNotFoundException Description of Exception
|
||||
*/
|
||||
public void load(String filename) throws FileNotFoundException {
|
||||
load(new FileInputStream(filename));
|
||||
}
|
||||
|
||||
/**
|
||||
* Description of the Method
|
||||
*
|
||||
* @param filename Description of Parameter
|
||||
* @exception IOException Description of Exception
|
||||
*/
|
||||
public void save(String filename) throws IOException {
|
||||
save(new FileOutputStream(filename));
|
||||
}
|
||||
|
||||
/**
|
||||
* Description of the Method
|
||||
*
|
||||
* @param in Description of Parameter
|
||||
*/
|
||||
public void load(InputStream in) {
|
||||
try {
|
||||
BufferedReader input = new BufferedReader(new InputStreamReader(in));
|
||||
String read;
|
||||
Properties section = null;
|
||||
String section_name;
|
||||
while ((read = input.readLine()) != null) {
|
||||
if (read.startsWith(";") || read.startsWith("#")) {
|
||||
continue;
|
||||
}
|
||||
else if (read.startsWith("[")) {
|
||||
// new section
|
||||
section_name = read.substring(1, read.indexOf("]"));
|
||||
section = (Properties) sections.get(section_name);
|
||||
if (section == null) {
|
||||
section = new Properties();
|
||||
sections.put(section_name, section);
|
||||
}
|
||||
}
|
||||
else if (read.indexOf("=") != -1 && section != null) {
|
||||
// new key
|
||||
String key = read.substring(0, read.indexOf("=")).trim();
|
||||
String value = read.substring(read.indexOf("=") + 1).trim();
|
||||
section.put(key, value);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Description of the Method
|
||||
*
|
||||
* @param out Description of Parameter
|
||||
*/
|
||||
public void save(OutputStream out) {
|
||||
try {
|
||||
PrintWriter output = new PrintWriter(out);
|
||||
String section;
|
||||
for (Enumeration e = sections.keys(); e.hasMoreElements(); ) {
|
||||
section = (String) e.nextElement();
|
||||
output.println("[" + section + "]");
|
||||
for (Enumeration f = getSection(section).keys(), g = getSection(section).elements();
|
||||
f.hasMoreElements(); ) {
|
||||
output.println(f.nextElement() + "=" + g.nextElement());
|
||||
}
|
||||
}
|
||||
output.flush();
|
||||
output.close();
|
||||
out.flush();
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a feature to the Section attribute of the IniFile object
|
||||
*
|
||||
* @param section The feature to be added to the Section attribute
|
||||
*/
|
||||
public void addSection(String section) {
|
||||
sections.put(section, new Properties());
|
||||
}
|
||||
|
||||
/**
|
||||
* Description of the Method
|
||||
*
|
||||
* @param section Description of Parameter
|
||||
*/
|
||||
public void removeSection(String section) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple test function
|
||||
*
|
||||
* @param args The command line arguments
|
||||
* @exception Exception Description of Exception
|
||||
*/
|
||||
public static void main(String[] args) throws Exception {
|
||||
(new IniFile()).load(new FileInputStream(args[0]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
/**
|
||||
* <p>Title: </p>
|
||||
* <p>Description: Interfaccia per la libreria C per l'accesso alla shared memory</p>
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
* <p>Company: </p>
|
||||
* @author Paolo Marini
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class KeyJNIBridge {
|
||||
|
||||
static {
|
||||
System.loadLibrary("SecUtility");
|
||||
}
|
||||
|
||||
public KeyJNIBridge() {
|
||||
}
|
||||
|
||||
public native void writeKey(int indirizzo,byte[] chiaveInChiaro);
|
||||
|
||||
public native byte[] readKey(int indirizzo);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Properties;
|
||||
import java.security.*;
|
||||
|
||||
/**
|
||||
* <p>Title: </p>
|
||||
* <p>Description: Classe per il caricamento nella shared memory della
|
||||
* chiave simmetrica dle sistema</p>
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
* <p>Company: </p>
|
||||
* @author Paolo Marini
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class KeyManager {
|
||||
|
||||
public KeyManager() {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
FileInputStream in = null;
|
||||
Properties config = null;
|
||||
int indirizzo;
|
||||
KeyStore store = null;
|
||||
Key encryptionKey = null;
|
||||
String passphrase = null;
|
||||
|
||||
String confFile = System.getProperty("security_conf_file");
|
||||
|
||||
try {
|
||||
System.out.println("Inizio caricamento chiave.");
|
||||
in = new FileInputStream(confFile);
|
||||
config = new Properties();
|
||||
config.load(in);
|
||||
in.close();
|
||||
|
||||
passphrase = "";
|
||||
Process proc = Runtime.getRuntime().exec("pswd.so");
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.
|
||||
getInputStream()));
|
||||
passphrase = reader.readLine();
|
||||
|
||||
if (passphrase==null || passphrase.length()== 0) {
|
||||
System.out.println("Specificare la passphrase");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
|
||||
in = new FileInputStream(config.getProperty(CryptoUtility.FILE_KEY));
|
||||
store = KeyStore.getInstance("JCEKS");
|
||||
store.load(in,passphrase.toCharArray());
|
||||
encryptionKey = store.getKey("alias",passphrase.toCharArray());
|
||||
|
||||
indirizzo = "true".equalsIgnoreCase(config.getProperty(CryptoUtility.INDIRIZZO_DINAMICO))?
|
||||
Integer.parseInt(config.getProperty(CryptoUtility.MEMORY_ADDRESS)):
|
||||
CryptoUtility.INDIRIZZO_STATICO;
|
||||
|
||||
KeyJNIBridge bridge = new KeyJNIBridge();
|
||||
bridge.writeKey(indirizzo,encryptionKey.getEncoded());
|
||||
System.out.println("Caricamento chiave terminato con successo.");
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
finally {
|
||||
if(in!=null) {
|
||||
try {
|
||||
in.close();
|
||||
}
|
||||
catch (IOException ex1) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>Title: SqlExecutor</p>
|
||||
* <p>Description: Esegui gli script sql richiamando sqlplus e leggendo la pwd criptata da file di properties</p>
|
||||
* <p> ES:java it.valueteam.securityutility.SqlExecutor -sqlplus test.sql -sqlplusOption -s</p>
|
||||
* <p> ES:java it.valueteam.securityutility.SqlExecutor -sqlldr control=test.ctl log=test.log bad=test.bad data=test.dat rows=100 errors=99999</p>
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
* <p>Company: </p>
|
||||
* @author not attributable
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class SqlExecutor {
|
||||
public static final String OUTPUT_STREAM_TYPE = "Output";
|
||||
public static final String ERROR_STREAM_TYPE = "Error";
|
||||
public static final int NORETVALUE = -1000;
|
||||
|
||||
public SqlExecutor(String[] args) {
|
||||
String sqlPlusPathSh = null;
|
||||
String sqlLrdPathSh = null;
|
||||
String dbUser = null;
|
||||
String dbPwdEncrypted = null;
|
||||
String dbAlias = null;
|
||||
String dbPwd = null;
|
||||
String commandLine=null;
|
||||
|
||||
try {
|
||||
if ((args.length < 2 ) ||
|
||||
((!args[0].equals("-sqlplus")) &&
|
||||
(!args[0].equals("-sqlldr")))
|
||||
) {
|
||||
System.out.println("Sintassi: SqlExecutor -sqlplus <script sql> [<param>] [-sqlplusOption <option>]");
|
||||
System.out.println(" SqlExecutor -sqlldr <param>");
|
||||
}
|
||||
else {
|
||||
String confFile = System.getProperty("security_conf_file");
|
||||
IniFile iniFile = new IniFile(confFile);
|
||||
Properties p = iniFile.getSection("sqlexecutor.properties");
|
||||
sqlPlusPathSh = (String) p.get("PATH_SQLPLUS_SH");
|
||||
sqlLrdPathSh = (String) p.get("PATH_SQLLRD_SH");
|
||||
dbUser = (String) p.get("DB_USER");
|
||||
dbPwdEncrypted = (String) p.get("{3DES}DB_PWD");
|
||||
dbAlias = (String) p.get("DB_INSTANCE");
|
||||
//decripto la pwd
|
||||
dbPwd = CryptoUtility.getInstance().decripta3DESWithPrefix(dbPwdEncrypted);
|
||||
if (args[0].equals("-sqlplus"))
|
||||
commandLine = getSqlPlusLine(sqlPlusPathSh, dbUser, dbPwd, dbAlias, args);
|
||||
else
|
||||
commandLine = getSqlLdrLine(sqlLrdPathSh, dbUser, dbPwd, dbAlias, args);
|
||||
//eseguo sqlplus
|
||||
int exitVal = execCommand(commandLine,dbPwd);
|
||||
if (exitVal!=0)
|
||||
System.out.println("Errore nell'esecuzione dello script");
|
||||
}
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Costruisce la string di esecuzione per SqlPlus
|
||||
* @param sqlPlusPath String
|
||||
* @param dbUser String
|
||||
* @param dbPwd String
|
||||
* @param dbAlias String
|
||||
* @param param String[]
|
||||
* @return String
|
||||
*/
|
||||
private String getSqlPlusLine(String path, String dbUser, String dbPwd,
|
||||
String dbAlias,String[] param) {
|
||||
StringBuffer line = new StringBuffer();
|
||||
//$ORACLE_HOME/bin/sqlplus $DB_USER/$DB_PWD@$DB_ALIAS
|
||||
line.append(path).append(" ");
|
||||
//opzioni sqlplus
|
||||
boolean trovato=false;
|
||||
for (int i = 1; i < param.length; i++) {
|
||||
if (param[i].equals("-sqlplusOption"))
|
||||
trovato=true;
|
||||
else {
|
||||
if (trovato)
|
||||
line.append(param[i]).append(" ");
|
||||
}
|
||||
}
|
||||
line.append(dbUser);
|
||||
// line.append("/");
|
||||
// line.append(dbPwd);
|
||||
line.append("@");
|
||||
line.append(dbAlias).append(" ");
|
||||
line.append("@");
|
||||
|
||||
trovato=false;
|
||||
for (int i = 1; i < param.length; i++) {
|
||||
if (param[i].equals("-sqlplusOption"))
|
||||
trovato=true;
|
||||
else {
|
||||
if (!trovato)
|
||||
line.append(param[i]).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
return line.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Costruisce la string di esecuzione per sqlldr
|
||||
* @param sqlPlusPath String
|
||||
* @param dbUser String
|
||||
* @param dbPwd String
|
||||
* @param dbAlias String
|
||||
* @param param String[]
|
||||
* @return String
|
||||
*/
|
||||
private String getSqlLdrLine(String path, String dbUser, String dbPwd,
|
||||
String dbAlias,String[] param) {
|
||||
//$ORACLE_HOME/bin/sqlldr userid=$DB_USER/$DB_PWD@$DB_ALIAS control=$CMD/CRMB_MNP.ctl log=$LOG/CRMB_MNP.log bad=$TMP/CRMB_MNP.bad data=$DAT/$FileFtp rows=100 errors=99999 >/dev/null 2>&1
|
||||
StringBuffer line = new StringBuffer();
|
||||
line.append(path).append(" ");
|
||||
line.append("userid=");
|
||||
line.append(dbUser);
|
||||
// line.append("/");
|
||||
// line.append(dbPwd);
|
||||
line.append("@");
|
||||
line.append(dbAlias).append(" ");
|
||||
|
||||
for (int i = 1; i < param.length; i++) {
|
||||
line.append(param[i]).append(" ");
|
||||
}
|
||||
|
||||
return line.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Esegue un processo e rimane in attesa del suo completamento.
|
||||
* @param procInfo Processo da eseguire.
|
||||
* @return valore di ritorno del processo.
|
||||
*/
|
||||
private int execCommand(String line,String pwd) throws Exception {
|
||||
|
||||
Process curProc = null;
|
||||
OutputReader r1 = null;
|
||||
OutputReader r2 = null;
|
||||
int exitVal = NORETVALUE;
|
||||
|
||||
try {
|
||||
// System.out.println("debug----" + line);
|
||||
//imposta la pwd come var di ambiente
|
||||
String[] env1 = new String[1];
|
||||
env1[0]="env1="+pwd;
|
||||
//eseguo il processo
|
||||
curProc = Runtime.getRuntime().exec(line.toString(),env1);
|
||||
if (curProc != null) {
|
||||
r1 = new OutputReader(OUTPUT_STREAM_TYPE, curProc.getInputStream());
|
||||
r2 = new OutputReader(ERROR_STREAM_TYPE, curProc.getErrorStream());
|
||||
r1.start();
|
||||
r2.start();
|
||||
exitVal = curProc.waitFor();
|
||||
}
|
||||
else
|
||||
System.out.println("Processo figlio nullo");
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
throw ex;
|
||||
}
|
||||
finally {
|
||||
OutputReader.stopReader(r1);
|
||||
OutputReader.stopReader(r2);
|
||||
curProc = null;
|
||||
}
|
||||
return exitVal;
|
||||
}
|
||||
|
||||
/**MAIN**/
|
||||
public static void main(String[] args) {
|
||||
SqlExecutor sqlExecutor1 = new SqlExecutor(args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Inner Class che gestisce la ridirezione dell'output del processo figlio
|
||||
* sullo standard Output
|
||||
* <p>Title: </p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
* <p>Company: </p>
|
||||
* @author not attributable
|
||||
* @version 1.0
|
||||
*/
|
||||
protected static class OutputReader extends Thread {
|
||||
BufferedReader bi;
|
||||
String line;
|
||||
String inputType;
|
||||
boolean keepReading = true;
|
||||
|
||||
public OutputReader(String type, InputStream i) {
|
||||
super("SqlExecutor-" + type);
|
||||
inputType = type;
|
||||
bi = new BufferedReader(new InputStreamReader(i));
|
||||
}
|
||||
|
||||
public void interrupt() {
|
||||
keepReading = false;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
while (keepReading) {
|
||||
line = bi.readLine();
|
||||
if (line != null) {
|
||||
System.out.println(line);
|
||||
line = null;
|
||||
}
|
||||
yield();
|
||||
}
|
||||
}
|
||||
catch (Exception io) {
|
||||
io.printStackTrace();
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (bi != null) {
|
||||
bi.close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex2) {
|
||||
ex2.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Esegue lo stop dell'OutputReader
|
||||
* @param r OutputReader
|
||||
*/
|
||||
public static final void stopReader(OutputReader r) {
|
||||
try {
|
||||
if (r != null)
|
||||
r.interrupt();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//end OutputReader
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.*;
|
||||
import java.security.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>Title: Utility per la lettura della chiave di cifratura serializzata dal file dove risiede
|
||||
* e la memorizza in un keystore protetta da passprase</p>
|
||||
*
|
||||
* <p>Description: </p>
|
||||
*
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
*
|
||||
* <p>Company: ValueTeam</p>
|
||||
*
|
||||
* @author Mario Giurlanda
|
||||
*
|
||||
* @version 1.0
|
||||
*/
|
||||
public class TripleDesKeyCipher {
|
||||
public TripleDesKeyCipher() {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Key encryptionKey = null;
|
||||
boolean backup=false;
|
||||
|
||||
//Recupero degli eventuali args
|
||||
if( args.length == 0 )
|
||||
backup = false;
|
||||
else if ( args[0].equalsIgnoreCase("-b") )
|
||||
backup = true;
|
||||
else {
|
||||
System.out.println("Sintassi: TripleDesKeyCipher [-b] ");
|
||||
System.out.println(" -b Backup dei file");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
//Load delle property
|
||||
Properties p = TripleDesKeyGenerator.initProperties();
|
||||
String filekey = (String)p.get("PATH_KEY");
|
||||
|
||||
try {
|
||||
File file = new File(filekey);
|
||||
|
||||
//Controllo sull'esistenza del file
|
||||
System.out.println("Leggo il file" + file);
|
||||
if (file.exists()) {
|
||||
|
||||
encryptionKey = loadTripleDesKey(file);
|
||||
|
||||
//Se richiesto backup provo ad eseguirlo altrimenti termino esecuzione con messaggio di errore
|
||||
if (backup) {
|
||||
System.out.println("Backup del file " + file);
|
||||
if (backupFile(file)) {
|
||||
System.out.println("Backup eseguito con successo");
|
||||
}
|
||||
else {
|
||||
System.out.println("Impossibile eseguire il backup del file");
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Generazione del keystore
|
||||
System.out.println("Genero il file: " + filekey);
|
||||
TripleDesKeyGenerator.storeTripleDesKey(file, encryptionKey, true);
|
||||
System.out.println("File generato con successo.");
|
||||
|
||||
}
|
||||
else
|
||||
System.out.println("Impossibile cifrare la chiave, file non presente.");
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* loadTripleDesKey
|
||||
*
|
||||
* @return Key
|
||||
*/
|
||||
private static Key loadTripleDesKey(File fileChiave) throws Exception {
|
||||
|
||||
ObjectInputStream in = null;
|
||||
Key chiave3DES = null;
|
||||
|
||||
try {
|
||||
in = new ObjectInputStream(new FileInputStream(fileChiave));
|
||||
chiave3DES = (Key)in.readObject();
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("Impossibile caricare la chiave dal file " + fileChiave);
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
}
|
||||
finally {
|
||||
if(in!=null) {
|
||||
try {
|
||||
in.close();
|
||||
}
|
||||
catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return chiave3DES;
|
||||
}
|
||||
|
||||
private static boolean backupFile(File oldFile){
|
||||
|
||||
File newFile = null;
|
||||
|
||||
boolean ret;
|
||||
|
||||
try{
|
||||
newFile = new File(oldFile.getAbsolutePath() + ".bak");
|
||||
ret = oldFile.renameTo(newFile);
|
||||
ret = true;
|
||||
}
|
||||
catch(Exception e){
|
||||
e.printStackTrace();
|
||||
ret = false;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
package it.valueteam.securityutility;
|
||||
|
||||
import java.io.*;
|
||||
import java.security.*;
|
||||
import java.util.*;
|
||||
import javax.crypto.*;
|
||||
|
||||
/**
|
||||
* <p>Title: </p>
|
||||
* <p>Description: Generatore della chiave simmetrica di cifratura/decifratura </p>
|
||||
* <p>Copyright: Copyright (c) 2006</p>
|
||||
* <p>Company: </p>
|
||||
* @author not attributable
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class TripleDesKeyGenerator {
|
||||
public TripleDesKeyGenerator() {
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
Key encryptionKey = null;
|
||||
String filename = null;
|
||||
boolean useShared = false;
|
||||
|
||||
Properties p = initProperties();
|
||||
|
||||
filename = (String)p.get("PATH_KEY");
|
||||
useShared = "true".equalsIgnoreCase(p.getProperty(CryptoUtility.FLAG_SHARED_KEY));
|
||||
|
||||
|
||||
try {
|
||||
File file = new File(filename);
|
||||
if (!file.exists()) {
|
||||
|
||||
encryptionKey = generateTripleDesKey();
|
||||
|
||||
System.out.println("Genero il file: " + file);
|
||||
storeTripleDesKey(file, encryptionKey, useShared);
|
||||
System.out.println("File generato con successo.");
|
||||
}
|
||||
else
|
||||
System.out.println("Impossibile generare file, file gia' presente.");
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* initProperties
|
||||
*
|
||||
* @return Properties
|
||||
*/
|
||||
public static Properties initProperties() {
|
||||
String confFile = System.getProperty("security_conf_file");
|
||||
|
||||
System.out.println("FILE SEC: "+confFile);
|
||||
|
||||
IniFile iniFile = null;
|
||||
try {
|
||||
iniFile = new IniFile(confFile);
|
||||
}
|
||||
catch (FileNotFoundException ex2) {
|
||||
System.out.println("File security properties non trovato");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
return iniFile.getSection("main.properties");
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param file File
|
||||
* @param encryptionKey Key
|
||||
* @param useShared boolean
|
||||
* @throws Exception
|
||||
*/
|
||||
public static void storeTripleDesKey(File file, Key encryptionKey, boolean useShared) throws Exception {
|
||||
|
||||
ObjectOutput objOut = null;
|
||||
FileOutputStream out = null;
|
||||
KeyStore store = null;
|
||||
String passphrase = null;
|
||||
|
||||
try {
|
||||
|
||||
if(useShared) {
|
||||
passphrase = "";
|
||||
Process proc = Runtime.getRuntime().exec("pswd.so");
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.
|
||||
getInputStream()));
|
||||
passphrase = reader.readLine();
|
||||
|
||||
if((passphrase==null)||(passphrase.length()<8) || (passphrase.length()>16)) {
|
||||
System.out.println("Specificare la passphrase di MIN. 8, MAX. 16 caratteri");
|
||||
System.exit(1);
|
||||
}
|
||||
store = KeyStore.getInstance("JCEKS");
|
||||
store.load(null, null);
|
||||
store.setKeyEntry("alias", encryptionKey, passphrase.toCharArray(), null);
|
||||
out = new FileOutputStream(file);
|
||||
store.store(out, passphrase.toCharArray());
|
||||
}
|
||||
else {
|
||||
objOut = new ObjectOutputStream(new FileOutputStream(file));
|
||||
objOut.writeObject(encryptionKey);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex) {
|
||||
throw ex;
|
||||
}
|
||||
|
||||
finally {
|
||||
if(out!=null) {
|
||||
try {
|
||||
out.close();
|
||||
}
|
||||
catch (IOException ex3) {
|
||||
}
|
||||
}
|
||||
if(objOut!=null) {
|
||||
try {
|
||||
objOut.close();
|
||||
}
|
||||
catch (IOException ex1) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Genera la chiave di cifratura con algoritmo 3DES
|
||||
*
|
||||
* @return Key
|
||||
*/
|
||||
private static Key generateTripleDesKey() throws NoSuchAlgorithmException {
|
||||
Key encryptionKey;
|
||||
KeyGenerator generator = KeyGenerator.getInstance(CryptoUtility.TRIPLE_DES_KEY);
|
||||
generator.init(CryptoUtility.TRIPLE_DES_KEY_SIZE);
|
||||
encryptionKey = generator.generateKey();
|
||||
return encryptionKey;
|
||||
}
|
||||
|
||||
}
|
||||
95
dbcmnpsrc/FE/mnpdev/TestInteroperatore/src/test/Sender.java
Normal file
95
dbcmnpsrc/FE/mnpdev/TestInteroperatore/src/test/Sender.java
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Created on Mar 30, 2005
|
||||
*
|
||||
* MNP [project testopiv]
|
||||
* Copyright (c) 2005
|
||||
*
|
||||
* @author Giovanni Amici
|
||||
* @version 1.0
|
||||
*/
|
||||
package test;
|
||||
|
||||
/**
|
||||
* @author Giovanni
|
||||
*
|
||||
* Window - Preferences - Java - Code Style - Code Templates
|
||||
*/
|
||||
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
public class Sender {
|
||||
|
||||
public static final String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><LISTA_MNP_RECORD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"MNP.xsd\"><FILENAME>" +
|
||||
"<MITTENTE>TIMG</MITTENTE>" +
|
||||
"<DATA>2005-06-25</DATA>" +
|
||||
"<ORA>14:30:00</ORA>" +
|
||||
"<DESTINATARIO>OPIV</DESTINATARIO>" +
|
||||
"<ID_FILE>00001</ID_FILE>" +
|
||||
"</FILENAME>" +
|
||||
"<ATTIVAZIONE><TIPO_MESSAGGIO>1</TIPO_MESSAGGIO><CODICE_OPERATORE_RECIPIENT>TIMG</CODICE_OPERATORE_RECIPIENT><CODICE_OPERATORE_DONATING>OPIV</CODICE_OPERATORE_DONATING><CODICE_RICHIESTA_RECIPIENT>000000000000000001</CODICE_RICHIESTA_RECIPIENT><MSISDN>883280000001</MSISDN><ICCID_SERIAL_NUMBER>0000000000000000001</ICCID_SERIAL_NUMBER><CODICE_FISCALE_PARTITA_IVA>SRTMCC75C52A345Q</CODICE_FISCALE_PARTITA_IVA><CODICE_PRE_POST_PAGATO>PRP</CODICE_PRE_POST_PAGATO><CODICE_ANALOGICO_DIGITALE>D</CODICE_ANALOGICO_DIGITALE><DATA_CUT_OVER>2100-01-01</DATA_CUT_OVER><NOME_CLIENTE>ANTONELLA</NOME_CLIENTE><COGNOME_CLIENTE>AMICI</COGNOME_CLIENTE><TIPO_DOCUMENTO>PA</TIPO_DOCUMENTO><NUMERO_DOCUMENTO>AQ5633392Z</NUMERO_DOCUMENTO><IMSI>000000000000001</IMSI></ATTIVAZIONE>" +
|
||||
"</LISTA_MNP_RECORD>";
|
||||
|
||||
public Sender() {
|
||||
|
||||
}
|
||||
|
||||
public static void main(String args[]) {
|
||||
try {
|
||||
System.out.println("Inizio test invio..nuovo");
|
||||
if (args.length > 0) {
|
||||
sendFile(args[0]);
|
||||
} else {
|
||||
simpleSend();
|
||||
}
|
||||
System.out.println("Test invio completato con successo!!");
|
||||
} catch (Exception e) {
|
||||
System.out.println("Errore test invio:");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void simpleSend() throws Exception {
|
||||
test.XMLSender.sendXML(xml, "1", "TIMG20050330122748OPIV00001", "OPIV");
|
||||
}
|
||||
|
||||
public static void sendFile(String fileName) throws Exception {
|
||||
RandomAccessFile in = null;
|
||||
try {
|
||||
|
||||
in = new RandomAccessFile(fileName, "r");
|
||||
long len = in.length();
|
||||
byte[] arr = new byte[(int) len];
|
||||
in.readFully(arr);
|
||||
|
||||
String xml = new String(arr).trim();
|
||||
System.out.println("I:" + fileName.lastIndexOf('/') + " F:" + fileName.lastIndexOf('.'));
|
||||
String name = fileName.substring(fileName.lastIndexOf('/') + 1, fileName.lastIndexOf('.'));
|
||||
String cod_olo = name.substring(18, 22);
|
||||
|
||||
System.out.println("***********************************");
|
||||
System.out.println("Sending:");
|
||||
|
||||
System.out.println("XML: <" + xml + ">");
|
||||
System.out.println("TYPE: <1>");
|
||||
System.out.println("NAME: <" + name + ">");
|
||||
System.out.println("OLO: <" + cod_olo + ">");
|
||||
|
||||
test.XMLSender.sendXML(xml, "1", name, cod_olo);
|
||||
System.out.println("Sending.. END");
|
||||
System.out.println("***********************************");
|
||||
} catch (Exception ex) {
|
||||
System.out.println("Exception:");
|
||||
ex.printStackTrace();
|
||||
|
||||
throw ex;
|
||||
|
||||
} finally {
|
||||
try {
|
||||
if (in != null) in.close();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
330
dbcmnpsrc/FE/mnpdev/TestInteroperatore/src/test/XMLSender.java
Normal file
330
dbcmnpsrc/FE/mnpdev/TestInteroperatore/src/test/XMLSender.java
Normal file
@@ -0,0 +1,330 @@
|
||||
package test;
|
||||
|
||||
|
||||
/**
|
||||
* Title: TEST INTEROPERATORE
|
||||
* Description: Mobile Number Portability
|
||||
* Copyright: Copyright (c) 2002
|
||||
* Company: ObjectWay spa
|
||||
* @author
|
||||
*/
|
||||
/************************************************************/
|
||||
// la classe <20> identica a quella di MNP a parte i log di sicurezza
|
||||
/***********************************************************/
|
||||
|
||||
|
||||
import mnp.utility.CustomSSLSocketFactory;
|
||||
import mnp.utility.Resources;
|
||||
|
||||
import javax.net.ssl.*;
|
||||
import java.io.*;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.KeyStore;
|
||||
import java.security.PrivateKey;
|
||||
import java.security.cert.Certificate;
|
||||
|
||||
public class XMLSender {
|
||||
|
||||
static URL sendServ;
|
||||
private static String address;
|
||||
private static boolean httpsFlag;
|
||||
private static boolean sslFlag;
|
||||
|
||||
static {
|
||||
try {
|
||||
address = Resources.getInternalSenderURL();
|
||||
System.out.println("ADDRESS: ["+address+"]");
|
||||
sendServ = new URL(address);
|
||||
httpsFlag = Resources.getInternalHttpsFlag();
|
||||
System.out.println("HTTPS FLAG: ["+httpsFlag+"]");
|
||||
sslFlag = Resources.getInternalSslFlag();
|
||||
System.out.println("SSL FLAG: ["+sslFlag+"]");
|
||||
} catch (Exception ex) {
|
||||
System.out.println("Impossibile inizializzare XMLSender.....Controllare proprieta' InternalSenderURL");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Chiamata alla servlet SendServlet per l'invio effettivo
|
||||
*/
|
||||
public static void sendXML(String filexml, String tipofile, String filename, String codOlo) throws Exception {
|
||||
int timeout = Resources.getHttpTimeOut();
|
||||
String response = null;
|
||||
URL wlsUrl;
|
||||
|
||||
// A.P. Modifica per RU_42: eliminazione header verso H3GI (veramente brutto!!)
|
||||
if (codOlo.equals("H3GI")) {
|
||||
filexml = stripHeader(filexml);
|
||||
}
|
||||
// END
|
||||
|
||||
System.out.println("Sending: " + filename + " to FE....");
|
||||
|
||||
// CODIFICA: (1 step): Sostituzione caratteri non ammessi con XML
|
||||
filexml = mnp.utility.functions.xmlString(filexml);
|
||||
//String test = "\n******* CODIFICA: (1 step:XML)\nfilexml=" + filexml + "&filename=" + filename + "&tipofile=" + tipofile + "&codOlo=" + codOlo;
|
||||
|
||||
// CODIFICA: (2 step): Codifica per HTML
|
||||
filexml = URLEncoder.encode(filexml, "UTF-8");
|
||||
//test = "\n******* CODIFICA: (2 step:HTTP)\nfilexml=" + filexml + "&filename=" + filename + "&tipofile=" + tipofile + "&codOlo=" + codOlo;
|
||||
|
||||
String query = "filexml=" + filexml + "&filename=" + filename + "&tipofile=" + tipofile + "&codOlo=" + codOlo;
|
||||
|
||||
//KIT200507
|
||||
//separazione http e https perche' devono essere usate classi diverse
|
||||
//causa problemi di memoria
|
||||
//HTTPS:
|
||||
if (httpsFlag) {
|
||||
try {
|
||||
wlsUrl = new URL(sendServ, address, new com.ibm.net.ssl.internal.www.protocol.https.Handler());
|
||||
} catch (MalformedURLException ex) {
|
||||
ex.printStackTrace();
|
||||
throw ex;
|
||||
}
|
||||
System.out.println("wlsUrl " + wlsUrl);
|
||||
com.ibm.net.ssl.internal.www.protocol.https.HttpsURLConnection sconnection = (com.ibm.net.ssl.internal.www.protocol.https.HttpsURLConnection) wlsUrl.openConnection();
|
||||
|
||||
// Caricamento Certificati
|
||||
if (sslFlag) {
|
||||
FileInputStream fis = null;
|
||||
FileInputStream fist = null;
|
||||
try {
|
||||
System.out.println("Inizio caricamento certificati per SSL");
|
||||
String keystore = Resources.getKeyStore("mnpserver1");
|
||||
String truststore = Resources.getTrustKeyStore();
|
||||
String keypwd = Resources.getPrivateKeyAliasPwd("mnpserver1");
|
||||
String IBMJSSEProvider = "IBMJSSE2";
|
||||
//manager del keystore della Private Key
|
||||
String alg = KeyManagerFactory.getDefaultAlgorithm();
|
||||
KeyManagerFactory kmFact = KeyManagerFactory.getInstance(alg, IBMJSSEProvider); //<-- il provider!
|
||||
fis = new FileInputStream(keystore);
|
||||
KeyStore ks = KeyStore.getInstance("jks");
|
||||
ks.load(fis, null);
|
||||
fis.close();
|
||||
kmFact.init(ks, keypwd.toCharArray());
|
||||
KeyManager[] kms = kmFact.getKeyManagers();
|
||||
|
||||
//manager del keystore delle CA
|
||||
String algt = TrustManagerFactory.getDefaultAlgorithm();
|
||||
TrustManagerFactory tmFact = TrustManagerFactory.getInstance(algt, IBMJSSEProvider); //<-- il provider!
|
||||
fist = new FileInputStream(truststore);
|
||||
KeyStore kst = KeyStore.getInstance("jks");
|
||||
kst.load(fist, null);
|
||||
fist.close();
|
||||
tmFact.init(kst);
|
||||
TrustManager[] tms = tmFact.getTrustManagers();
|
||||
|
||||
//creazione del context SSL
|
||||
SSLContext sslContext;
|
||||
sslContext = SSLContext.getInstance("SSL_TLS", IBMJSSEProvider);
|
||||
sslContext.init(kms, tms, null);
|
||||
|
||||
//open connection
|
||||
sconnection = (com.ibm.net.ssl.internal.www.protocol.https.HttpsURLConnection) wlsUrl.openConnection();
|
||||
|
||||
//set del Socket Factory alla connessione https
|
||||
SSLSocketFactory factory = sslContext.getSocketFactory();
|
||||
CustomSSLSocketFactory csf = new CustomSSLSocketFactory(factory, timeout);
|
||||
sconnection.setSSLSocketFactory(csf);
|
||||
sconnection.setDefaultSSLSocketFactory(csf);
|
||||
|
||||
System.out.println("Caricamento certificati per SSL completato");
|
||||
} catch (IOException ex) {
|
||||
System.out.println("ERRORE caricamento certificati per SSL");
|
||||
throw ex;
|
||||
} finally {
|
||||
try {
|
||||
if (fis != null) fis.close();
|
||||
if (fist != null) fist.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set request method
|
||||
sconnection.setRequestMethod("POST");
|
||||
// Apertura canali e scrittura file
|
||||
sconnection.setDoOutput(true);
|
||||
sconnection.setDoInput(true);
|
||||
|
||||
OutputStreamWriter wout = null;
|
||||
try {
|
||||
try {
|
||||
sconnection.connect();
|
||||
wout = new OutputStreamWriter(sconnection.getOutputStream());
|
||||
wout.write(query);
|
||||
wout.flush();
|
||||
response = sconnection.getResponseMessage();
|
||||
System.out.println(" RESPONSE ["+response+"]");
|
||||
} catch (IOException ex) {
|
||||
int responseCode = sconnection.getResponseCode();
|
||||
if (responseCode == java.net.HttpURLConnection.HTTP_CLIENT_TIMEOUT) {
|
||||
// TimeOut nella connessione FE - AOM
|
||||
throw new InterruptedIOException("Timeout nella connessione fra Front-End e AOM");
|
||||
} else {
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
if (response == null || !response.equalsIgnoreCase("OK")) {
|
||||
throw new Exception("Bad Response: " + response);
|
||||
}
|
||||
} catch (Exception ex1) {
|
||||
System.out.println("Invio di " + filename + " fallito: " + ex1.getMessage());
|
||||
throw ex1;
|
||||
} finally {
|
||||
securityLogAction(filename, address, "OK".equalsIgnoreCase(response));
|
||||
try {
|
||||
sconnection.disconnect();
|
||||
wout.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("Sending: " + filename + " to FE... DONE, with response: " + response);
|
||||
}
|
||||
//HTTP
|
||||
else {
|
||||
weblogic.net.http.HttpURLConnection connection = null;
|
||||
if (httpsFlag) {
|
||||
System.setProperty("java.protocol.handler.pkgs", "weblogic.net");
|
||||
connection = new weblogic.net.http.HttpsURLConnection(sendServ);
|
||||
} else {
|
||||
connection = new weblogic.net.http.HttpURLConnection(sendServ);
|
||||
}
|
||||
|
||||
// Caricamento Certificati
|
||||
if (httpsFlag && sslFlag) {
|
||||
FileInputStream f = null;
|
||||
try {
|
||||
KeyStore ks = KeyStore.getInstance("jks");
|
||||
f = new FileInputStream(Resources.getKeyStore("mnpserver1"));
|
||||
ks.load(f, null);
|
||||
PrivateKey key = (PrivateKey) ks.getKey(Resources.getPrivateKeyAlias("mnpserver1"), Resources.getPrivateKeyAliasPwd("mnpserver1").toCharArray());
|
||||
Certificate[] certChain = ks.getCertificateChain(Resources.getPrivateKeyAlias("mnpserver1"));
|
||||
((weblogic.net.http.HttpsURLConnection) connection).loadLocalIdentity(certChain, key);
|
||||
System.out.println("Caricamento certificati per SSL completato");
|
||||
} catch (IOException ex) {
|
||||
System.out.println("ERRORE caricamento certificati per SSL");
|
||||
throw ex;
|
||||
} finally {
|
||||
try {
|
||||
if (f != null)
|
||||
f.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//set timeout
|
||||
connection.setTimeout(timeout);
|
||||
|
||||
// Set request method
|
||||
connection.setRequestMethod("POST");
|
||||
//connection.setRequestProperty("content", "xml");
|
||||
|
||||
// Apertura canali e scrittura file
|
||||
connection.setDoOutput(true);
|
||||
connection.setDoInput(true);
|
||||
|
||||
OutputStreamWriter wout = null;
|
||||
try {
|
||||
try {
|
||||
connection.connect();
|
||||
wout = new OutputStreamWriter(connection.getOutputStream());
|
||||
wout.write(query);
|
||||
wout.flush();
|
||||
response = connection.getResponseMessage();
|
||||
} catch (java.io.InterruptedIOException tex) {
|
||||
// TimeOut nella connessione BE - FE
|
||||
throw new InterruptedIOException("Timeout nella connessione con il Front-end");
|
||||
} catch (IOException ex) {
|
||||
int responseCode = connection.getResponseCode();
|
||||
if (responseCode == java.net.HttpURLConnection.HTTP_CLIENT_TIMEOUT) {
|
||||
// TimeOut nella connessione FE - AOM
|
||||
throw new InterruptedIOException("Timeout nella connessione fra Front-End e AOM");
|
||||
} else {
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
if (response == null || !response.equalsIgnoreCase("OK")) {
|
||||
throw new Exception("Bad Response: " + response);
|
||||
}
|
||||
} catch (Exception ex1) {
|
||||
System.out.println("Invio di " + filename + " fallito: " + ex1.getMessage());
|
||||
throw ex1;
|
||||
} finally {
|
||||
securityLogAction(filename, address, "OK".equalsIgnoreCase(response));
|
||||
try {
|
||||
connection.disconnect();
|
||||
wout.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("Sending: " + filename + " to FE... DONE, with response: " + response);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A.P. MODIFICA PER H3GI
|
||||
* Elimina dal tag ACKNOWLEDGE o LISTAMNPRECORD la stringa
|
||||
* xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"MNP.xsd\"
|
||||
*
|
||||
* @param fileXMLString File XML da cui togliere la Stringa
|
||||
*/
|
||||
private static final String stripHeader(String fileXMLString) {
|
||||
String pre = null;
|
||||
String post = null;
|
||||
if (fileXMLString.indexOf("ACKNOWLEDGE") != -1) {
|
||||
pre = fileXMLString.substring(0, fileXMLString.indexOf("<ACKNOWLEDGE"));
|
||||
pre = pre + "<ACKNOWLEDGE>";
|
||||
fileXMLString = fileXMLString.substring(fileXMLString.indexOf("<ACKNOWLEDGE"), fileXMLString.length());
|
||||
} else {
|
||||
pre = fileXMLString.substring(0, fileXMLString.indexOf("<LISTA_MNP_RECORD"));
|
||||
pre = pre + "<LISTA_MNP_RECORD>";
|
||||
fileXMLString = fileXMLString.substring(fileXMLString.indexOf("<LISTA_MNP_RECORD"), fileXMLString.length());
|
||||
}
|
||||
post = fileXMLString.substring(fileXMLString.indexOf(">") + 1, fileXMLString.length());
|
||||
return pre + post;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
RandomAccessFile in = null;
|
||||
try {
|
||||
|
||||
in = new RandomAccessFile("c:/JBuilder4/tomcat/webapps/mnp/src/testXML/OPIV20020624120600TIMG02030.xml", "r");
|
||||
long len = in.length();
|
||||
byte[] arr = new byte[(int) len];
|
||||
in.readFully(arr);
|
||||
|
||||
String xml = new String(arr).trim();
|
||||
String name = "OPIV20020624120600TIMG02030";
|
||||
String cod_olo = name.substring(0, 4);
|
||||
|
||||
System.out.println("Sending:\n********* XML:\n" + xml +
|
||||
"\n********* TYPE:\n 1" +
|
||||
"\n********* NAME:\n" + name +
|
||||
"\n********* OLO:\n" + cod_olo);
|
||||
|
||||
sendXML(xml, "1", name, cod_olo);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (in != null) in.close();
|
||||
} catch (Exception ex) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void securityLogAction(String oggetto, String parametro, boolean isOK) {
|
||||
// nothing to do!!!
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
5
dbcmnpsrc/FE/mnpdev/build/Fortify/build.cmd
Normal file
5
dbcmnpsrc/FE/mnpdev/build/Fortify/build.cmd
Normal file
@@ -0,0 +1,5 @@
|
||||
@set ANT_HOME=C:\apache-ant-1.8.4
|
||||
@set JAVA_HOME=C:\Java\jdk1.6.0_18
|
||||
@set PATH=%PATH%;%ANT_HOME%\bin;%JAVA_HOME%\bin
|
||||
|
||||
ant -buildfile build.xml %1
|
||||
145
dbcmnpsrc/FE/mnpdev/build/Fortify/build.xml
Normal file
145
dbcmnpsrc/FE/mnpdev/build/Fortify/build.xml
Normal file
@@ -0,0 +1,145 @@
|
||||
<project name="mnp_fortfy" default="jar_mnp_common" basedir=".">
|
||||
<filelist id="mnp.files.classpath" dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\mnp\ear\APP-INF\lib\">
|
||||
<file name="jaxp-api.jar"/>
|
||||
<file name="jaxrpc.jar"/>
|
||||
<file name="jce-jdk13-119.jar"/>
|
||||
<file name="jug-lgpl-2.0.0.jar"/>
|
||||
<file name="log4j-1.2.7.jar"/>
|
||||
<file name="logging.jar"/>
|
||||
<file name="openssh-pk-1.1.0.jar"/>
|
||||
<file name="saaj.jar"/>
|
||||
<file name="sax.jar"/>
|
||||
<file name="security-utility.jar"/>
|
||||
<file name="wsdl4j-1.5.1.jar"/>
|
||||
<file name="xalan.jar"/>
|
||||
<file name="axis.jar"/>
|
||||
<file name="castor-1.0.5-xml.jar"/>
|
||||
<file name="Castor-AomDataBinding.jar"/>
|
||||
<file name="Castor-BitDataBinding.jar"/>
|
||||
<file name="Castor-CCRMWebDataBinding.jar"/>
|
||||
<file name="Castor-CrmcHZDataBinding.jar"/>
|
||||
<file name="Castor-CrontabConfig.jar"/>
|
||||
<file name="Castor-FENPRequest.jar"/>
|
||||
<file name="Castor-FENPResponse.jar"/>
|
||||
<file name="Castor-GinoDataBinding-Req.jar"/>
|
||||
<file name="Castor-GinoDataBinding-Resp.jar"/>
|
||||
<file name="Castor-GispDataBinding.jar"/>
|
||||
<file name="Castor-GispDonorStdDataBinding.jar"/>
|
||||
<file name="Castor-GispHZDataBinding.jar"/>
|
||||
<file name="Castor-GispResponse.jar"/>
|
||||
<file name="Castor-GispRetreive.jar"/>
|
||||
<file name="Castor-InfoTracciati.jar"/>
|
||||
<file name="Castor-MessageReplyFENP.jar"/>
|
||||
<file name="Castor-MSPDataBinding.jar"/>
|
||||
<file name="Castor-MvnoDataBinding.jar"/>
|
||||
<file name="Castor-MvnoSlaDonDataBinding.jar"/>
|
||||
<file name="Castor-MvnoSlaRecDataBinding.jar"/>
|
||||
<file name="Castor-NotificaCCRMWEBCOOP.jar"/>
|
||||
<file name="Castor-NotificaDBCFX_DBC_HZ.jar"/>
|
||||
<file name="Castor-SistemaXML.jar"/>
|
||||
<file name="Castor-SistemiInterni.jar"/>
|
||||
<file name="commons-discovery-0.2.jar"/>
|
||||
<file name="commons-logging-1.1.jar"/>
|
||||
<file name="commons-net-1.3.0.jar"/>
|
||||
<file name="databinding.jar"/>
|
||||
<file name="datedFileAppender-1.0.2.jar"/>
|
||||
<file name="dbcgo-ejbclient.jar"/>
|
||||
<file name="eai_commons-1.0.0.jar"/>
|
||||
<file name="ejb-ibj-connector-1.0.0.jar"/>
|
||||
<file name="GatewayProxy-client.jar"/>
|
||||
<file name="hibernate3.jar"/>
|
||||
<file name="hibernate-antlr-2.7.6rc1.jar"/>
|
||||
<file name="hibernate-asm.jar"/>
|
||||
<file name="hibernate-asm-attrs.jar"/>
|
||||
<file name="hibernate-c3p0-0.9.0.jar"/>
|
||||
<file name="hibernate-cglib-2.1.3.jar"/>
|
||||
<file name="hibernate-cleanimports.jar"/>
|
||||
<file name="hibernate-commons-collections-2.1.1.jar"/>
|
||||
<file name="hibernate-dom4j-1.5.2.jar"/>
|
||||
<file name="hibernate-ehcache-1.2.jar"/>
|
||||
<file name="hibernate-jaxen-1.1-beta-4.jar"/>
|
||||
<file name="hibernate-jgroups-2.2.8.jar"/>
|
||||
<file name="hibernate-jta.jar"/>
|
||||
<file name="hibernate-xerces-2.6.2.jar"/>
|
||||
<file name="hibernate-xml-apis.jar"/>
|
||||
<file name="ib_commons-1.0.0.jar"/>
|
||||
<file name="ibmjsseprovider.jar"/>
|
||||
<file name="InfoTracciatiFW.jar"/>
|
||||
<file name="j2ssh-common-0.2.6.jar"/>
|
||||
<file name="j2ssh-core-0.2.6.jar"/>
|
||||
<file name="jakarta-oro-2.0.5.jar"/>
|
||||
<file name="jakarta-regexp-1.1.jar"/>
|
||||
<file name="jsch-0.1.37.jar"/>
|
||||
<file name="commons-io-1.3.2.jar"/>
|
||||
<file name="commons-fileupload-1.2.jar"/>
|
||||
<!-- aggiunta cristiano-->
|
||||
<file name="j2ssh-core-0.2.7.jar"/>
|
||||
<file name="j2ssh-common-0.2.7.jar"/>
|
||||
<file name="Castor-GispRestTP.jar"/>
|
||||
<file name="Castor-GispCessTP.jar"/>
|
||||
<!-- fine aggiunta cristano-->
|
||||
</filelist>
|
||||
|
||||
|
||||
<filelist id="weblogic.jar" dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\weblogic813_libs\">
|
||||
<file name="weblogic.jar"/>
|
||||
</filelist>
|
||||
<patternset id="crontab.common.classes">
|
||||
<include name="**/*.class"/>
|
||||
</patternset>
|
||||
<patternset id="mnp.common.classes">
|
||||
<include name="**/*.class"/>
|
||||
</patternset>
|
||||
<path id="mnp.classpath">
|
||||
<filelist refid="mnp.files.classpath"/>
|
||||
<filelist refid="weblogic.jar"/>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\ibm_libs\">
|
||||
<include name="ibmjsseprovider.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\mnp\">
|
||||
<include name="mnp-crontab.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
<target name="compile_crontab" depends="cleanup">
|
||||
<echo>
|
||||
Compiling Crontab
|
||||
-----------------
|
||||
</echo>
|
||||
<javac srcdir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\crontab\src" destdir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\crontab-build" debug="on" debuglevel="lines,vars,source" deprecation="off" failonerror="true">
|
||||
<classpath refid="mnp.classpath"/>
|
||||
</javac>
|
||||
</target>
|
||||
<target name="compile_mnp" depends="jar_crontab_common">
|
||||
<echo>
|
||||
Compiling MNP
|
||||
-------------
|
||||
</echo>
|
||||
<javac srcdir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\mnp\src" destdir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\mnp-build" debug="on" deprecation="off" failonerror="true">
|
||||
|
||||
<classpath refid="mnp.classpath"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="jar_crontab_common" depends="compile_crontab">
|
||||
<jar destfile="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\mnp\mnp-crontab.jar" >
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\crontab-build">
|
||||
<patternset refid="crontab.common.classes"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="jar_mnp_common" depends="compile_mnp">
|
||||
<jar destfile="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\mnp\mnp-common.jar" >
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\mnp-build">
|
||||
<patternset refid="mnp.common.classes"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
</target>
|
||||
<target name="cleanup" >
|
||||
|
||||
<delete dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\mnp-build"/>
|
||||
<delete dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\crontab-build"/>
|
||||
<mkdir dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\mnp-build"/>
|
||||
<mkdir dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\crontab-build"/>
|
||||
</target>
|
||||
</project>
|
||||
5
dbcmnpsrc/FE/mnpdev/build/Fortify/buildDbcgo.bat
Normal file
5
dbcmnpsrc/FE/mnpdev/build/Fortify/buildDbcgo.bat
Normal file
@@ -0,0 +1,5 @@
|
||||
@set ANT_HOME=C:\apache-ant-1.8.4
|
||||
@set JAVA_HOME=C:\Java\jdk1.6.0_18
|
||||
@set PATH=%PATH%;%ANT_HOME%\bin;%JAVA_HOME%\bin
|
||||
|
||||
ant -buildfile buildDbcgo.xml %1
|
||||
103
dbcmnpsrc/FE/mnpdev/build/Fortify/buildDbcgo.xml
Normal file
103
dbcmnpsrc/FE/mnpdev/build/Fortify/buildDbcgo.xml
Normal file
@@ -0,0 +1,103 @@
|
||||
<project name="dbcgo_fortfy" default="jar_dbcgo" basedir=".">
|
||||
<filelist id="dbcgo.files.classpath" dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgoEar\res\APP-INF\lib\">
|
||||
<file name="security-utility.jar"/>
|
||||
<file name="commons-beanutils-1.7.0.jar"/>
|
||||
<file name="commons-logging.jar"/>
|
||||
<file name="commons-net-1.3.0.jar"/>
|
||||
<file name="datedFileAppender-1.0.2.jar"/>
|
||||
<file name="hibernate3.jar"/>
|
||||
<file name="hibernate-antlr-2.7.6rc1.jar"/>
|
||||
<file name="hibernate-asm.jar"/>
|
||||
<file name="hibernate-asm-attrs.jar"/>
|
||||
<file name="hibernate-c3p0-0.9.0.jar"/>
|
||||
<file name="hibernate-cglib-2.1.3.jar"/>
|
||||
<file name="hibernate-cleanimports.jar"/>
|
||||
<file name="hibernate-commons-collections-2.1.1.jar"/>
|
||||
<file name="hibernate-dom4j-1.5.2.jar"/>
|
||||
<file name="hibernate-ehcache-1.2.jar"/>
|
||||
<file name="hibernate-jaxen-1.1-beta-4.jar"/>
|
||||
<file name="hibernate-jgroups-2.2.8.jar"/>
|
||||
<file name="hibernate-jta.jar"/>
|
||||
<file name="hibernate-xerces-2.6.2.jar"/>
|
||||
<file name="hibernate-xml-apis.jar"/>
|
||||
<file name="j2ssh-common-0.2.6.jar"/>
|
||||
<file name="j2ssh-core-0.2.6.jar"/>
|
||||
<file name="log4j-1.2.7.jar"/>
|
||||
<file name="logging.jar"/>
|
||||
<file name="mnp-ejbclient.jar"/>
|
||||
<file name="openssh-pk-1.1.0.jar"/>
|
||||
<file name="jxl-2.6.10.jar"/>
|
||||
<file name="poi-3.16.jar"/>
|
||||
<file name="poi-ooxml-3.16.jar"/>
|
||||
</filelist>
|
||||
|
||||
|
||||
<filelist id="weblogic.jar" dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\weblogic813_libs\">
|
||||
<file name="weblogic.jar"/>
|
||||
</filelist>
|
||||
|
||||
<patternset id="dbcgo.common.classes">
|
||||
<include name="**/*.class"/>
|
||||
</patternset>
|
||||
<path id="dbcgo.classpath">
|
||||
<filelist refid="dbcgo.files.classpath"/>
|
||||
<filelist refid="weblogic.jar"/>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\org\apache\struts\struts-core\1.3.9\">
|
||||
<include name="struts-core-1.3.9.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\org\apache\struts\struts-el\1.3.9\">
|
||||
<include name="struts-el-1.3.9.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\org\apache\struts\struts-taglib\1.3.9\">
|
||||
<include name="struts-taglib-1.3.9.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\org\apache\struts\struts-tiles\1.3.9\">
|
||||
<include name="struts-tiles-1.3.9.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\dbcgoBusiness\dbcgoBusiness\0.0.1-SNAPSHOT\">
|
||||
<include name="dbcgoBusiness-0.0.1-SNAPSHOT.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\dbcgom\dbcgom\0.0.1-SNAPSHOT\">
|
||||
<include name="dbcgom-0.0.1-SNAPSHOT.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\dbcgoModel\dbcgoModel\0.0.1-SNAPSHOT\">
|
||||
<include name="dbcgoModel-0.0.1-SNAPSHOT.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\mnp\">
|
||||
<include name="mnp-crontab.jar" />
|
||||
</fileset>
|
||||
<!-- aggiunta cristiano-->
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\com\ibm\icu\icu4j\2.6.1">
|
||||
<include name="icu4j-2.6.1.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\commons-io\commons-io\1.1">
|
||||
<include name="commons-io-1.1.jar" />
|
||||
</fileset>
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo_repository\crontab\process-executor\1.0">
|
||||
<include name="process-executor-1.0.jar" />
|
||||
</fileset>
|
||||
<!-- fine aggiunta cristiano-->
|
||||
</path>
|
||||
<target name="compile_dbcgo" depends="cleanup">
|
||||
<echo>
|
||||
Compiling DBCGO
|
||||
-----------------
|
||||
</echo>
|
||||
<javac srcdir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo\src" destdir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\dbcgo-build" debug="on" debuglevel="lines,vars,source" deprecation="off" failonerror="true">
|
||||
<classpath refid="dbcgo.classpath"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="jar_dbcgo" depends="compile_dbcgo">
|
||||
<jar destfile="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\FE\mnpdev\dbcgo\dbcgo\dbcgo.jar" >
|
||||
<fileset dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\dbcgo-build">
|
||||
<patternset refid="dbcgo.common.classes"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
</target>
|
||||
<target name="cleanup" >
|
||||
|
||||
<delete dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\dbcgo-build"/>
|
||||
<mkdir dir="C:\Fortify\SCANSIONE_FORTIFY_DBCMNP\mnp\dbcgo-build"/>
|
||||
</target>
|
||||
</project>
|
||||
83
dbcmnpsrc/FE/mnpdev/build/Fortify/fortifyMNP_FE.bat
Normal file
83
dbcmnpsrc/FE/mnpdev/build/Fortify/fortifyMNP_FE.bat
Normal file
@@ -0,0 +1,83 @@
|
||||
@echo off
|
||||
@set JAVA_HOME=C:\Java\jdk1.6.0_18
|
||||
@echo ===================================================
|
||||
@echo Fortify.bat
|
||||
@echo run sca per il componente MNP-FE
|
||||
@echo ===================================================
|
||||
|
||||
set LABEL=GATEWAYMNPDBC_FE_X10_2011
|
||||
|
||||
set DIR_SCANSIONE=C:\Fortify\SCANSIONE_FORTIFY_DBCMNP
|
||||
|
||||
set LOGFILE=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_FE.log
|
||||
set WARNING_FILE=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_FE_WARNINGS.txt
|
||||
set LISTA_FILES=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_FE_LISTA_FILES.txt
|
||||
|
||||
set FILE_FPR=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_FE.fpr
|
||||
|
||||
set LOG_TRANSLATE_JAVA=%DIR_SCANSIONE%\MNP_FE_Translate_Java.log
|
||||
set LOG_TRANSLATE_JSP=%DIR_SCANSIONE%\MNP_FE_Translate_Jsp.log
|
||||
set GATEWAYMNPDBC_MNP_FE_ROOT=%DIR_SCANSIONE%\FE
|
||||
set MNP_LIBS=%DIR_SCANSIONE%\FE\mnpdev\mnp\ear\APP-INF\lib
|
||||
set BEA_LIBS=%DIR_SCANSIONE%\mnp\weblogic813_libs
|
||||
set IBM_LIBS=%DIR_SCANSIONE%\mnp\ibm_libs
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Build jar ...
|
||||
call build.cmd
|
||||
@echo %DATE% %TIME% END Build jar ...
|
||||
REM set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;"%BEA_LIBS%"\*.jar;"%MNP_LIBS%"\*.jar;"%IBM_LIBS%"\*.jar;"%GATEWAYMNPDBC_MNP_FE_ROOT%"\mnpdev\mnp\mnp-crontab.jar;"%GATEWAYMNPDBC_MNP_FE_ROOT%"\mnpdev\mnp\mnp-common.jar
|
||||
set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;"%BEA_LIBS%"\*.jar;"%MNP_LIBS%"\*.jar;"%IBM_LIBS%"\*.jar;"%GATEWAYMNPDBC_MNP_FE_ROOT%"\mnpdev\mnp\mnp-common.jar;"%GATEWAYMNPDBC_MNP_FE_ROOT%"\mnpdev\mnp\mnp-crontab.jar;
|
||||
set FILELIST_FE_CRONTAB_JAVA=%GATEWAYMNPDBC_MNP_FE_ROOT%\mnpdev\crontab\**\*.java
|
||||
set FILELIST_FE_CRONTAB_JSP=%GATEWAYMNPDBC_MNP_FE_ROOT%\mnpdev\crontab\**\*.jsp
|
||||
set FILELIST_FE_MNP_JAVA=%GATEWAYMNPDBC_MNP_FE_ROOT%\mnpdev\mnp\**\*.java
|
||||
set FILELIST_FE_MNP_JSP=%GATEWAYMNPDBC_MNP_FE_ROOT%\mnpdev\mnp\**\*.jsp
|
||||
REM set FILELIST_FE_XML=%GATEWAYMNPDBC_MNP_FE_ROOT%\**\*.xml
|
||||
set FILELIST_FE_XSD=%GATEWAYMNPDBC_MNP_FE_ROOT%\**\*.xsd
|
||||
set FILELIST_FE_PROP=%GATEWAYMNPDBC_MNP_FE_ROOT%\**\*.properties
|
||||
set FILELIST_FE_SQL=%GATEWAYMNPDBC_MNP_FE_ROOT%\**\*.sql
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Cleaning MNP FE
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -clean
|
||||
@echo %DATE% %TIME% END Cleaning MNP FE
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_CRONTAB_JAVA...
|
||||
sourceanalyzer -debug -verbose -logfile "%LOG_TRANSLATE_JAVA%" -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_CRONTAB_JAVA%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_FE_CRONTAB_JAVA ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_MNP_JAVA ...
|
||||
sourceanalyzer -debug -verbose -logfile "%LOG_TRANSLATE_JAVA%" -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_MNP_JAVA%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_FE_MNP_JAVA ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_MNP_JSP ...
|
||||
sourceanalyzer -debug -verbose -logfile "%LOG_TRANSLATE_JSP%" -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_MNP_JSP%"
|
||||
rem -exclude %EXCLUDE_JSP%
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_FE_MNP_JSP ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_CRONTAB_JSP ...
|
||||
sourceanalyzer -debug -verbose -logfile "%LOG_TRANSLATE_JSP%" -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_CRONTAB_JSP%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_FE_CRONTAB_JSP ...
|
||||
@echo ---------------------------------------------------
|
||||
REM @echo %DATE% %TIME% START Analyze MNP FE FILELIST_FE_XML ...
|
||||
REM rem sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_XML%"
|
||||
REM @echo %DATE% %TIME% END Analyze FILELIST_FE_XML ...
|
||||
REM @echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_XSD ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_XSD%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIS_FE_XSD ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_SQL ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_SQL%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_FE_SQL ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_FE_PROP ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -cp "%CLASSPATH%" "%FILELIST_FE_PROP%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_FE_PROP ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Scan ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -show-build-warnings > "%WARNING_FILE%"
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -show-files > "%LISTA_FILES%"
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_FE -scan -debug -verbose -logfile "%LOGFILE%" -f "%FILE_FPR%"
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% END Scan ...
|
||||
@echo ---------------------------------------------------
|
||||
:FINE
|
||||
54
dbcmnpsrc/FE/mnpdev/build/Fortify/fortifyMNP_GW.bat
Normal file
54
dbcmnpsrc/FE/mnpdev/build/Fortify/fortifyMNP_GW.bat
Normal file
@@ -0,0 +1,54 @@
|
||||
@echo off
|
||||
|
||||
@echo ===================================================
|
||||
@echo Fortify.bat
|
||||
@echo run sca per il componente MNP-GW
|
||||
@echo ===================================================
|
||||
|
||||
set LABEL=GATEWAYMNPDBC_MNP_GW_X10_2011
|
||||
|
||||
set DIR_SCANSIONE=C:\Fortify\SCANSIONE_FORTIFY_DBCMNP
|
||||
|
||||
set LOGFILE=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_GW.log
|
||||
set WARNING_FILE=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_GW_WARNINGS.txt
|
||||
set LISTA_FILES=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_GW_LISTA_FILES.txt
|
||||
|
||||
set FILE_FPR=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_GW.fpr
|
||||
|
||||
set GATEWAYMNPDBC_MNP_GW_ROOT=%DIR_SCANSIONE%\GW
|
||||
set BEA_LIBS=%DIR_SCANSIONE%\mnp\weblogic813_libs
|
||||
set CLASSPATH=%BEA_LIBS%/*.jar;%GATEWAYMNPDBC_MNP_GW_ROOT%/mnpapp/lib/*.jar
|
||||
|
||||
set FILELIST_GW_JAVA=%GATEWAYMNPDBC_MNP_GW_ROOT%/mnpdev/mnpgw/**/*.java
|
||||
set FILELIST_GW_XML=%GATEWAYMNPDBC_MNP_GW_ROOT%/**/*.xml
|
||||
set FILELIST_GW_XSD=%GATEWAYMNPDBC_MNP_GW_ROOT%/**/*.xsd
|
||||
set FILELIST_GW_PROP=%GATEWAYMNPDBC_MNP_GW_ROOT%/**/*.properties
|
||||
@echo ---------------------------------------------------
|
||||
@echo MNP-GW
|
||||
@echo ---------------------------------------------------
|
||||
@echo Clean ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -clean
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze MNP GW FILELIST_GW_JAVA ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -cp "%CLASSPATH%" "%FILELIST_GW_JAVA%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_GW_JAVA ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze MNP GW FILELIST_GW_XML ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -cp "%CLASSPATH%" "%FILELIST_GW_XML%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_GW_XML ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_GW_XSD ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -cp "%CLASSPATH%" "%FILELIST_GW_XSD%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIS_GW_XSD ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Analyze FILELIST_GW_PROP ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -cp "%CLASSPATH%" "%FILELIST_GW_PROP%"
|
||||
@echo %DATE% %TIME% END Analyze FILELIST_GW_PROP ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Scan ...
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -show-build-warnings > "%WARNING_FILE%"
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -show-files > "%LISTA_FILES%"
|
||||
sourceanalyzer -b GATEWAYMNPDBC_MNP_GW -scan -debug -verbose -logfile "%LOGFILE%" -f "%FILE_FPR%"
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% END Scan ...
|
||||
@echo ---------------------------------------------------
|
||||
64
dbcmnpsrc/FE/mnpdev/build/Fortify/fortify_DBCGO.bat
Normal file
64
dbcmnpsrc/FE/mnpdev/build/Fortify/fortify_DBCGO.bat
Normal file
@@ -0,0 +1,64 @@
|
||||
@echo off
|
||||
@set JAVA_HOME=C:\Java\jdk1.6.0_18
|
||||
@echo ===================================================
|
||||
@echo Fortify.bat
|
||||
@echo run sca per il componente DBCGO
|
||||
@echo ===================================================
|
||||
|
||||
set LABEL=DBCGO_X10_2011
|
||||
|
||||
set DIR_SCANSIONE=C:\Fortify\SCANSIONE_FORTIFY_DBCMNP
|
||||
|
||||
set LOGFILE=%DIR_SCANSIONE%\DBCGO.log
|
||||
set WARNING_FILE=%DIR_SCANSIONE%\DBCGO_WARNINGS.txt
|
||||
set LISTA_FILES=%DIR_SCANSIONE%\DBCGO_LISTA_FILES.txt
|
||||
|
||||
set FILE_FPR=%DIR_SCANSIONE%\GATEWAYMNPDBC_MNP_DBCGO.fpr
|
||||
|
||||
set LOG_TRANSLATE_JAVA=%DIR_SCANSIONE%\DBCGO_Translate_Java.log
|
||||
set LOG_TRANSLATE_JSP=%DIR_SCANSIONE%\DBCGO_Translate_Jsp.log
|
||||
|
||||
set MNP_FE_ROOT=%DIR_SCANSIONE%\FE
|
||||
set DBCGO_ROOT=%DIR_SCANSIONE%\FE\mnpdev\dbcgo
|
||||
set DBCGO_LIBS=%DIR_SCANSIONE%\FE\mnpdev\dbcgo\dbcgoEar\res\APP-INF\lib
|
||||
set BEA_LIBS=%DIR_SCANSIONE%\FE\mnpdev\mnp\weblogic813_libs
|
||||
set IBM_LIBS=%DIR_SCANSIONE%\FE\mnpdev\mnp\ibm_libs
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Build jar ...
|
||||
call buildDbcgo.bat
|
||||
@echo %DATE% %TIME% END Build jar ...
|
||||
@set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;"%BEA_LIBS%"\*.jar;"%DBCGO_LIBS%"\*.jar;"%IBM_LIBS%"\*.jar;"%MNP_FE_ROOT%"\mnpdev\mnp\mnp-crontab.jar;"%MNP_FE_ROOT%"\mnpdev\mnp\mnp-common.jar;"%DBCGO_ROOT%"\dbcgo\dbcgo.jar
|
||||
set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;"%BEA_LIBS%"\*.jar;"%DBCGO_LIBS%"\*.jar;"%IBM_LIBS%"\*.jar;"%MNP_FE_ROOT%"\mnpdev\mnp\mnp-common.jar;"%DBCGO_ROOT%"\dbcgo\dbcgo.jar
|
||||
@set CLASSPATH_JSP="%CLASSPATH%";"%DIR_SCANSIONE%"\FE\mnpdev\dbcgo\dbcgo_repository\pagination-tag\pagination-tag\3.0\pagination-tag-3.0.jar;"%DBCGO_ROOT%"\dbcgo_repository\dbcgoBusiness\dbcgoBusiness\0.0.1-SNAPSHOT\dbcgoBusiness-0.0.1-SNAPSHOT.jar;%DBCGO_ROOT%\dbcgo_repository\dbcgom\dbcgom\0.0.1-SNAPSHOT\dbcgom-0.0.1-SNAPSHOT.jar;"%DBCGO_ROOT%"\dbcgo_repository\dbcgoModel\dbcgoModel\0.0.1-SNAPSHOT\dbcgoModel-0.0.1-SNAPSHOT.jar;
|
||||
set CLASSPATH_JSP="%CLASSPATH%";"%DIR_SCANSIONE%"\FE\mnpdev\dbcgo\dbcgo_repository\pagination-tag\pagination-tag\3.0\pagination-tag-3.0.jar;"%DBCGO_ROOT%"\dbcgo_repository\dbcgoBusiness\dbcgoBusiness\0.0.1-SNAPSHOT\dbcgoBusiness-0.0.1-SNAPSHOT.jar;%DBCGO_ROOT%\dbcgo_repository\dbcgom\dbcgom\0.0.1-SNAPSHOT\dbcgom-0.0.1-SNAPSHOT.jar;"%DBCGO_ROOT%"\dbcgo_repository\dbcgoModel\dbcgoModel\0.0.1-SNAPSHOT\dbcgoModel-0.0.1-SNAPSHOT.jar;
|
||||
set FILELIST_DBCGO_JAVA=%DBCGO_ROOT%\**\*.java
|
||||
set FILELIST_DBCGO_JSP=%DBCGO_ROOT%\**\*.jsp
|
||||
set FILELIST_DBCGO_XML=%MNP_FE_ROOT%\**\*.xml
|
||||
REM ** ATTENZIONE NON SI ANALIZZANO I .SQL E I .PROPERTIES PERCHE' SONO COMPRESI
|
||||
REM ** NELLA SCANSIONE DI MNP IN QUANTO RISIEDONO NEGLI STESSI PATH!!
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Cleaning DBCGO
|
||||
sourceanalyzer -b DBCGO -clean
|
||||
@echo %DATE% %TIME% END Cleaning DBCGO
|
||||
@echo ---------------------------------------------------
|
||||
echo %DATE% %TIME% START Analyze FILELIST_DBCGO_JAVA...
|
||||
sourceanalyzer -verbose -debug -logfile "%LOG_TRANSLATE_JAVA%" -b DBCGO -cp "%CLASSPATH%" "%FILELIST_DBCGO_JAVA%"
|
||||
echo %DATE% %TIME% END Analyze FILELIST_DBCGO_JAVA ...
|
||||
@echo ---------------------------------------------------
|
||||
echo %DATE% %TIME% START Analyze FILELIST_DBCGO_JSP ...
|
||||
rem -exclude %EXCLUDE_JSP%
|
||||
sourceanalyzer -verbose -debug -logfile "%LOG_TRANSLATE_JSP%" -b DBCGO -cp "%CLASSPATH_JSP%" "%FILELIST_DBCGO_JSP%"
|
||||
echo %DATE% %TIME% END Analyze FILELIST_DBCGO_JSP ...
|
||||
@echo ---------------------------------------------------
|
||||
echo %DATE% %TIME% START Analyze FILELIST_DBCGO_XML ...
|
||||
sourceanalyzer -b MNP_GW -cp "%CLASSPATH%" "%FILELIST_DBCGO_XML%"
|
||||
echo %DATE% %TIME% END Analyze FILELIST_DBCGO_XML ...
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% START Scan ...
|
||||
sourceanalyzer -b DBCGO -show-build-warnings > "%WARNING_FILE%"
|
||||
sourceanalyzer -b DBCGO -show-files > "%LISTA_FILES%"
|
||||
sourceanalyzer -b DBCGO -scan -debug -verbose -logfile "%LOGFILE%" -f "%FILE_FPR%"
|
||||
@echo ---------------------------------------------------
|
||||
@echo %DATE% %TIME% END Scan ...
|
||||
@echo ---------------------------------------------------
|
||||
:FINE
|
||||
38
dbcmnpsrc/FE/mnpdev/build/README_MNP_GEN_HIBERNATE.txt
Normal file
38
dbcmnpsrc/FE/mnpdev/build/README_MNP_GEN_HIBERNATE.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
PER LA GENERAZIONE DEGLI OGGETTI HIBERNATE SI DEVE LANCIARE LA SHELL DI BUILD CON ARGOMENTO :
|
||||
|
||||
build.cmd hibernateGenDao per la generazione dei DAO
|
||||
build.cmd hibernateGenDto per la generazione dei DTO e dei file xml di mapping
|
||||
|
||||
TUTTI I DAO VERRANNO CREATI ALL'INTERNO DEL PACKAGE : mnp.database.hb.dao
|
||||
TUTTI I POJO E GLI XML DI MAPPING VERRANNO CREATI ALL'INTERNO DEL PACKAGE : mnp.database.hb.dto
|
||||
|
||||
#############ISTRUZIONI PER L'USO#############
|
||||
|
||||
####################################################
|
||||
FILE : FE\mnpdev\build\hibernate\hibernateGen.cfg.xml
|
||||
|
||||
Questo file contiene le informazioni sulla connessione al DB,
|
||||
le property modificabili sono:
|
||||
connection.username : user per la connessione al db
|
||||
connection.url : url di connessione al db
|
||||
connection.password : password di connessione al db
|
||||
default_schema : schema da cui prendere le tabelle
|
||||
|
||||
#####################################################
|
||||
FILE : FE\mnpdev\build\hibernate\hibernate.reveng.xml
|
||||
|
||||
Questo file contiene la politica di generazione degli oggetti per quelle tabelle che non
|
||||
hanno una foreign key fisica verso altre tabelle,
|
||||
(vedi doc http://www.hibernate.org/hib_docs/tools/reference/en/html/reverseengineering.html)
|
||||
Per ogni tabella da aggiungere si deve :
|
||||
aggiungere un tag <table-filter> (esempio <table-filter match-name="MNP_TISCALI_NOTIFICA_DON_OUT"/>)
|
||||
aggiungere un tag <table> con le info per la generazione
|
||||
|
||||
#####################################################
|
||||
FILE : FE\mnpdev\build\hibernate\hibernateFK.reveng.xml
|
||||
|
||||
Questo file è uguale al precedente tranne per il fatto che in questo
|
||||
vanno inserite quelle tabelle che hanno una foreign key fisica verso altre tabelle.
|
||||
|
||||
#####################################################
|
||||
|
||||
25
dbcmnpsrc/FE/mnpdev/build/aix/build_mnp.properties
Normal file
25
dbcmnpsrc/FE/mnpdev/build/aix/build_mnp.properties
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
#L'idea è di modificare le properies variabili in questo file
|
||||
#e non nel file di build (build.xml)
|
||||
|
||||
#home di Java SDK
|
||||
sdk.home=/usr/java14
|
||||
|
||||
#home di weblogic server
|
||||
weblogic.home=/bea/bea81sp3/weblogic81
|
||||
|
||||
#home del progetto,
|
||||
#se si fa il build dall'alberatura CVS di Ambra non è necessario modificare la proprietà
|
||||
project.home=/mnp/CVS/mnp/FE/mnpdev
|
||||
|
||||
#path delle librerie
|
||||
#se si fa il build dall'alberatura CVS di Ambra non è necessario modificare la proprietà
|
||||
mnp.lib.path=/mnp/CVS/mnp/FE/mnpdev/mnp/ear/APP-INF/lib
|
||||
|
||||
#Properties per il deploy dell'applicazione
|
||||
deploy.username=weblogic
|
||||
deploy.username=password
|
||||
deploy.server=svi-babele
|
||||
deploy.port=7801
|
||||
deploy.url=t3://${deploy.server}:${deploy.port}/
|
||||
|
||||
336
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/ant
Normal file
336
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/ant
Normal file
@@ -0,0 +1,336 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You 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.
|
||||
|
||||
# Extract launch and ant arguments, (see details below).
|
||||
ant_exec_args=
|
||||
no_config=false
|
||||
use_jikes_default=false
|
||||
ant_exec_debug=false
|
||||
show_help=false
|
||||
for arg in "$@" ; do
|
||||
if [ "$arg" = "--noconfig" ] ; then
|
||||
no_config=true
|
||||
elif [ "$arg" = "--usejikes" ] ; then
|
||||
use_jikes_default=true
|
||||
elif [ "$arg" = "--execdebug" ] ; then
|
||||
ant_exec_debug=true
|
||||
elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ] ; then
|
||||
show_help=true
|
||||
ant_exec_args="$ant_exec_args -h"
|
||||
else
|
||||
if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then
|
||||
show_help=true
|
||||
fi
|
||||
ant_exec_args="$ant_exec_args \"$arg\""
|
||||
fi
|
||||
done
|
||||
|
||||
# Source/default ant configuration
|
||||
if $no_config ; then
|
||||
rpm_mode=false
|
||||
usejikes=$use_jikes_default
|
||||
else
|
||||
# load system-wide ant configuration (ONLY if ANT_HOME has NOT been set)
|
||||
if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then
|
||||
if [ -f "/etc/ant.conf" ] ; then
|
||||
. /etc/ant.conf
|
||||
fi
|
||||
fi
|
||||
|
||||
# load user ant configuration
|
||||
if [ -f "$HOME/.ant/ant.conf" ] ; then
|
||||
. $HOME/.ant/ant.conf
|
||||
fi
|
||||
if [ -f "$HOME/.antrc" ] ; then
|
||||
. "$HOME/.antrc"
|
||||
fi
|
||||
|
||||
# provide default configuration values
|
||||
if [ -z "$rpm_mode" ] ; then
|
||||
rpm_mode=false
|
||||
fi
|
||||
if [ -z "$usejikes" ] ; then
|
||||
usejikes=$use_jikes_default
|
||||
fi
|
||||
fi
|
||||
|
||||
# Setup Java environment in rpm mode
|
||||
if $rpm_mode ; then
|
||||
if [ -f /usr/share/java-utils/java-functions ] ; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
set_jvm
|
||||
set_javacmd
|
||||
fi
|
||||
fi
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
mingw=false;
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true ;;
|
||||
Darwin*) darwin=true
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
if [ -x '/usr/libexec/java_home' ] ; then
|
||||
JAVA_HOME=`/usr/libexec/java_home`
|
||||
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
|
||||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
MINGW*) mingw=true ;;
|
||||
esac
|
||||
|
||||
if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ] ; then
|
||||
## resolve links - $0 may be a link to ant's home
|
||||
PRG="$0"
|
||||
progname=`basename "$0"`
|
||||
|
||||
# need this for relative symlinks
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
ANT_HOME=`dirname "$PRG"`/..
|
||||
|
||||
# make it fully qualified
|
||||
ANT_HOME=`cd "$ANT_HOME" > /dev/null && pwd`
|
||||
fi
|
||||
|
||||
# For Cygwin and Mingw, ensure paths are in UNIX format before
|
||||
# anything is touched
|
||||
if $cygwin ; then
|
||||
[ -n "$ANT_HOME" ] &&
|
||||
ANT_HOME=`cygpath --unix "$ANT_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
if $mingw ; then
|
||||
[ -n "$ANT_HOME" ] &&
|
||||
ANT_HOME="`(cd "$ANT_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
fi
|
||||
|
||||
# set ANT_LIB location
|
||||
ANT_LIB="${ANT_HOME}/lib"
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
elif [ -x "$JAVA_HOME/jre/bin/java" ] ; then
|
||||
JAVACMD="$JAVA_HOME/jre/bin/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD=`which java 2> /dev/null `
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
JAVACMD=java
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly."
|
||||
echo " We cannot execute $JAVACMD"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Build local classpath using just the launcher in non-rpm mode or
|
||||
# use the Jpackage helper in rpm mode with basic and default jars
|
||||
# specified in the ant.conf configuration. Because the launcher is
|
||||
# used, libraries linked in ANT_HOME/lib will also be included, but this
|
||||
# is discouraged as it is not java-version safe. A user should
|
||||
# request optional jars and their dependencies via the OPT_JAR_LIST
|
||||
# variable
|
||||
if $rpm_mode && [ -x /usr/bin/build-classpath ] ; then
|
||||
LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)"
|
||||
|
||||
# If no optional jars have been specified then build the default list
|
||||
if [ -z "$OPT_JAR_LIST" ] ; then
|
||||
for file in /etc/ant.d/*; do
|
||||
if [ -f "$file" ]; then
|
||||
case "$file" in
|
||||
*~) ;;
|
||||
*#*) ;;
|
||||
*.rpmsave) ;;
|
||||
*.rpmnew) ;;
|
||||
*)
|
||||
for dep in `cat "$file"`; do
|
||||
OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep"
|
||||
done
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# If the user requested to try to add some other jars to the classpath
|
||||
if [ -n "$OPT_JAR_LIST" ] ; then
|
||||
_OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)"
|
||||
if [ -n "$_OPTCLASSPATH" ] ; then
|
||||
LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Explicitly add javac path to classpath, assume JAVA_HOME set
|
||||
# properly in rpm mode
|
||||
if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
|
||||
LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar"
|
||||
fi
|
||||
if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then
|
||||
LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip"
|
||||
fi
|
||||
|
||||
# if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be
|
||||
# user CLASSPATH first and ant-found jars after.
|
||||
# In that case, the user CLASSPATH will override ant-found jars
|
||||
#
|
||||
# if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour
|
||||
# with ant-found jars first and user CLASSPATH after
|
||||
if [ -n "$CLASSPATH" ] ; then
|
||||
# merge local and specified classpath
|
||||
if [ -z "$LOCALCLASSPATH" ] ; then
|
||||
LOCALCLASSPATH="$CLASSPATH"
|
||||
elif [ -n "$CLASSPATH_OVERRIDE" ] ; then
|
||||
LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH"
|
||||
else
|
||||
LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH"
|
||||
fi
|
||||
|
||||
# remove class path from launcher -cp option
|
||||
CLASSPATH=""
|
||||
fi
|
||||
else
|
||||
# not using rpm_mode; use launcher to determine classpaths
|
||||
if [ -z "$LOCALCLASSPATH" ] ; then
|
||||
LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
|
||||
else
|
||||
LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
# OSX hack to make Ant work with jikes
|
||||
if $darwin ; then
|
||||
OSXHACK="${JAVA_HOME}/../Classes"
|
||||
if [ -d "${OSXHACK}" ] ; then
|
||||
for i in "${OSXHACK}"/*.jar
|
||||
do
|
||||
JIKESPATH="$JIKESPATH:$i"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Allow Jikes support (off by default)
|
||||
if $usejikes; then
|
||||
ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to appropriate format before running java
|
||||
# For PATHs convert to unix format first, then to windows format to ensure
|
||||
# both formats are supported. Probably this will fail on directories with ;
|
||||
# in the name in the path. Let's assume that paths containing ; are more
|
||||
# rare than windows style paths on cygwin.
|
||||
if $cygwin; then
|
||||
if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
|
||||
format=mixed
|
||||
else
|
||||
format=windows
|
||||
fi
|
||||
[ -n "$ANT_HOME" ] && ANT_HOME=`cygpath --$format "$ANT_HOME"`
|
||||
ANT_LIB=`cygpath --$format "$ANT_LIB"`
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
|
||||
LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"`
|
||||
LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"`
|
||||
if [ -n "$CLASSPATH" ] ; then
|
||||
CP_TEMP=`cygpath --path --unix "$CLASSPATH"`
|
||||
CLASSPATH=`cygpath --path --$format "$CP_TEMP"`
|
||||
fi
|
||||
CYGHOME=`cygpath --$format "$HOME"`
|
||||
fi
|
||||
|
||||
# Show script help if requested
|
||||
if $show_help ; then
|
||||
echo $0 '[script options] [options] [target [target2 [target3] ..]]'
|
||||
echo 'Script Options:'
|
||||
echo ' --help, --h print this message and ant help'
|
||||
echo ' --noconfig suppress sourcing of /etc/ant.conf,'
|
||||
echo ' $HOME/.ant/ant.conf, and $HOME/.antrc'
|
||||
echo ' configuration files'
|
||||
echo ' --usejikes enable use of jikes by default, unless'
|
||||
echo ' set explicitly in configuration files'
|
||||
echo ' --execdebug print ant exec line generated by this'
|
||||
echo ' launch script'
|
||||
echo ' '
|
||||
fi
|
||||
# add a second backslash to variables terminated by a backslash under cygwin
|
||||
if $cygwin; then
|
||||
case "$ANT_HOME" in
|
||||
*\\ )
|
||||
ANT_HOME="$ANT_HOME\\"
|
||||
;;
|
||||
esac
|
||||
case "$CYGHOME" in
|
||||
*\\ )
|
||||
CYGHOME="$CYGHOME\\"
|
||||
;;
|
||||
esac
|
||||
case "$JIKESPATH" in
|
||||
*\\ )
|
||||
JIKESPATH="$JIKESPATH\\"
|
||||
;;
|
||||
esac
|
||||
case "$LOCALCLASSPATH" in
|
||||
*\\ )
|
||||
LOCALCLASSPATH="$LOCALCLASSPATH\\"
|
||||
;;
|
||||
esac
|
||||
case "$CLASSPATH" in
|
||||
*\\ )
|
||||
CLASSPATH="$CLASSPATH\\"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# Execute ant using eval/exec to preserve spaces in paths,
|
||||
# java options, and ant args
|
||||
ant_sys_opts=
|
||||
if [ -n "$CYGHOME" ]; then
|
||||
if [ -n "$JIKESPATH" ]; then
|
||||
ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\""
|
||||
else
|
||||
ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\""
|
||||
fi
|
||||
else
|
||||
if [ -n "$JIKESPATH" ]; then
|
||||
ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
|
||||
fi
|
||||
fi
|
||||
ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"$CLASSPATH\""
|
||||
if $ant_exec_debug ; then
|
||||
echo $ant_exec_command $ant_exec_args
|
||||
fi
|
||||
eval $ant_exec_command "$ant_exec_args"
|
||||
218
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/ant.bat
Normal file
218
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/ant.bat
Normal file
@@ -0,0 +1,218 @@
|
||||
@echo off
|
||||
|
||||
REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
REM contributor license agreements. See the NOTICE file distributed with
|
||||
REM this work for additional information regarding copyright ownership.
|
||||
REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
REM (the "License"); you may not use this file except in compliance with
|
||||
REM the License. You may obtain a copy of the License at
|
||||
REM
|
||||
REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
REM
|
||||
REM Unless required by applicable law or agreed to in writing, software
|
||||
REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM See the License for the specific language governing permissions and
|
||||
REM limitations under the License.
|
||||
|
||||
REM This is an inordinately troublesome piece of code, particularly because it
|
||||
REM tries to work on both Win9x and WinNT-based systems. If we could abandon '9x
|
||||
REM support, things would be much easier, but sadly, it is not yet time.
|
||||
REM Be cautious about editing this, and only add WinNT specific stuff in code that
|
||||
REM only runs on WinNT.
|
||||
|
||||
if "%HOME%"=="" goto homeDrivePathPre
|
||||
if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
|
||||
|
||||
:homeDrivePathPre
|
||||
if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePre
|
||||
if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePre
|
||||
if exist "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat"
|
||||
|
||||
:userProfilePre
|
||||
if "%USERPROFILE%"=="" goto alpha
|
||||
if "%USERPROFILE%"=="%HOME%" goto alpha
|
||||
if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto alpha
|
||||
if exist "%USERPROFILE%\antrc_pre.bat" call "%USERPROFILE%\antrc_pre.bat"
|
||||
|
||||
:alpha
|
||||
|
||||
if "%OS%"=="Windows_NT" @setlocal
|
||||
if "%OS%"=="WINNT" @setlocal
|
||||
|
||||
if "%ANT_HOME%"=="" goto setDefaultAntHome
|
||||
|
||||
:stripAntHome
|
||||
if not _%ANT_HOME:~-1%==_\ goto checkClasspath
|
||||
set ANT_HOME=%ANT_HOME:~0,-1%
|
||||
goto stripAntHome
|
||||
|
||||
:setDefaultAntHome
|
||||
rem %~dp0 is expanded pathname of the current script under NT
|
||||
set ANT_HOME=%~dp0..
|
||||
|
||||
:checkClasspath
|
||||
set _USE_CLASSPATH=yes
|
||||
rem CLASSPATH must not be used if it is equal to ""
|
||||
if "%CLASSPATH%"=="""" set _USE_CLASSPATH=no
|
||||
if "%CLASSPATH%"=="" set _USE_CLASSPATH=no
|
||||
|
||||
rem Slurp the command line arguments. This loop allows for an unlimited number
|
||||
rem of arguments (up to the command line limit, anyway).
|
||||
set ANT_CMD_LINE_ARGS=
|
||||
:setupArgs
|
||||
if ""%1""=="""" goto doneStart
|
||||
if ""%1""==""-noclasspath"" goto clearclasspath
|
||||
set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
|
||||
shift
|
||||
goto setupArgs
|
||||
|
||||
rem here is there is a -noclasspath in the options
|
||||
:clearclasspath
|
||||
set _USE_CLASSPATH=no
|
||||
shift
|
||||
goto setupArgs
|
||||
|
||||
rem This label provides a place for the argument list loop to break out
|
||||
rem and for NT handling to skip to.
|
||||
|
||||
:doneStart
|
||||
|
||||
if "%_USE_CLASSPATH%"=="no" goto findAntHome
|
||||
|
||||
:stripClasspath
|
||||
if not _%CLASSPATH:~-1%==_\ goto findAntHome
|
||||
set CLASSPATH=%CLASSPATH:~0,-1%
|
||||
goto stripClasspath
|
||||
|
||||
:findAntHome
|
||||
rem find ANT_HOME if it does not exist due to either an invalid value passed
|
||||
rem by the user or the %0 problem on Windows 9x
|
||||
if exist "%ANT_HOME%\lib\ant.jar" goto checkJava
|
||||
|
||||
rem check for ant in Program Files
|
||||
if not exist "%ProgramFiles%\ant" goto checkSystemDrive
|
||||
set ANT_HOME=%ProgramFiles%\ant
|
||||
goto checkJava
|
||||
|
||||
:checkSystemDrive
|
||||
rem check for ant in root directory of system drive
|
||||
if not exist %SystemDrive%\ant\lib\ant.jar goto checkCDrive
|
||||
set ANT_HOME=%SystemDrive%\ant
|
||||
goto checkJava
|
||||
|
||||
:checkCDrive
|
||||
rem check for ant in C:\ant for Win9X users
|
||||
if not exist C:\ant\lib\ant.jar goto noAntHome
|
||||
set ANT_HOME=C:\ant
|
||||
goto checkJava
|
||||
|
||||
:noAntHome
|
||||
echo ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
|
||||
goto end
|
||||
|
||||
:checkJava
|
||||
set _JAVACMD=%JAVACMD%
|
||||
|
||||
if "%JAVA_HOME%" == "" goto noJavaHome
|
||||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
||||
if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe
|
||||
goto checkJikes
|
||||
|
||||
:noJavaHome
|
||||
if "%_JAVACMD%" == "" set _JAVACMD=java.exe
|
||||
|
||||
:checkJikes
|
||||
if not "%JIKESPATH%"=="" goto runAntWithJikes
|
||||
|
||||
:runAnt
|
||||
if "%_USE_CLASSPATH%"=="no" goto runAntNoClasspath
|
||||
:runAntWithClasspath
|
||||
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% -cp "%CLASSPATH%" %ANT_CMD_LINE_ARGS%
|
||||
rem Check the error code of the Ant build
|
||||
if not "%OS%"=="Windows_NT" goto onError
|
||||
set ANT_ERROR=%ERRORLEVEL%
|
||||
goto end
|
||||
|
||||
:runAntNoClasspath
|
||||
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% %ANT_CMD_LINE_ARGS%
|
||||
rem Check the error code of the Ant build
|
||||
if not "%OS%"=="Windows_NT" goto onError
|
||||
set ANT_ERROR=%ERRORLEVEL%
|
||||
goto end
|
||||
|
||||
:runAntWithJikes
|
||||
|
||||
if not _%JIKESPATH:~-1%==_\ goto checkJikesAndClasspath
|
||||
set JIKESPATH=%JIKESPATH:~0,-1%
|
||||
goto runAntWithJikes
|
||||
|
||||
:checkJikesAndClasspath
|
||||
|
||||
if "%_USE_CLASSPATH%"=="no" goto runAntWithJikesNoClasspath
|
||||
|
||||
:runAntWithJikesAndClasspath
|
||||
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% -cp "%CLASSPATH%" %ANT_CMD_LINE_ARGS%
|
||||
rem Check the error code of the Ant build
|
||||
if not "%OS%"=="Windows_NT" goto onError
|
||||
set ANT_ERROR=%ERRORLEVEL%
|
||||
goto end
|
||||
|
||||
:runAntWithJikesNoClasspath
|
||||
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% %ANT_CMD_LINE_ARGS%
|
||||
rem Check the error code of the Ant build
|
||||
if not "%OS%"=="Windows_NT" goto onError
|
||||
set ANT_ERROR=%ERRORLEVEL%
|
||||
goto end
|
||||
|
||||
:onError
|
||||
rem Windows 9x way of checking the error code. It matches via brute force.
|
||||
for %%i in (1 10 100) do set err%%i=
|
||||
for %%i in (0 1 2) do if errorlevel %%i00 set err100=%%i
|
||||
if %err100%==2 goto onError200
|
||||
if %err100%==0 set err100=
|
||||
for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%%i0 set err10=%%i
|
||||
if "%err100%"=="" if %err10%==0 set err10=
|
||||
:onError1
|
||||
for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%err10%%%i set err1=%%i
|
||||
goto onErrorEnd
|
||||
:onError200
|
||||
for %%i in (0 1 2 3 4 5) do if errorlevel 2%%i0 set err10=%%i
|
||||
if err10==5 for %%i in (0 1 2 3 4 5) do if errorlevel 25%%i set err1=%%i
|
||||
if not err10==5 goto onError1
|
||||
:onErrorEnd
|
||||
set ANT_ERROR=%err100%%err10%%err1%
|
||||
for %%i in (1 10 100) do set err%%i=
|
||||
|
||||
:end
|
||||
rem bug ID 32069: resetting an undefined env variable changes the errorlevel.
|
||||
if not "%_JAVACMD%"=="" set _JAVACMD=
|
||||
if not "%_ANT_CMD_LINE_ARGS%"=="" set ANT_CMD_LINE_ARGS=
|
||||
|
||||
if "%ANT_ERROR%"=="0" goto mainEnd
|
||||
|
||||
goto omega
|
||||
|
||||
:mainEnd
|
||||
|
||||
rem If there were no errors, we run the post script.
|
||||
if "%OS%"=="Windows_NT" @endlocal
|
||||
if "%OS%"=="WINNT" @endlocal
|
||||
|
||||
if "%HOME%"=="" goto homeDrivePathPost
|
||||
if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat"
|
||||
|
||||
:homeDrivePathPost
|
||||
if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePost
|
||||
if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePost
|
||||
if exist "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat"
|
||||
|
||||
:userProfilePost
|
||||
if "%USERPROFILE%"=="" goto omega
|
||||
if "%USERPROFILE%"=="%HOME%" goto omega
|
||||
if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto omega
|
||||
if exist "%USERPROFILE%\antrc_post.bat" call "%USERPROFILE%\antrc_post.bat"
|
||||
|
||||
:omega
|
||||
|
||||
exit /b %ANT_ERROR%
|
||||
93
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/ant.cmd
Normal file
93
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/ant.cmd
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
|
||||
Run ant
|
||||
*/
|
||||
|
||||
'@echo off'
|
||||
parse arg mode envarg '::' antarg
|
||||
|
||||
if mode\='.' & mode\='..' & mode\='/' then do
|
||||
envarg = mode envarg
|
||||
mode = ''
|
||||
end
|
||||
|
||||
if antarg = '' then do
|
||||
antarg = envarg
|
||||
envarg = ''
|
||||
end
|
||||
|
||||
x = setlocal()
|
||||
|
||||
env="OS2ENVIRONMENT"
|
||||
antenv = _getenv_('antenv')
|
||||
if _testenv_() = 0 then interpret 'call "' || antenv || '"' '"' || envarg || '"'
|
||||
|
||||
if mode = '' then mode = _getenv_('ANT_MODE' '..')
|
||||
if mode \= '/' then do
|
||||
runrc = _getenv_('runrc')
|
||||
antrc = _getenv_('antrc' 'antrc.cmd')
|
||||
if mode = '..' then mode = '-r'
|
||||
else mode = ''
|
||||
interpret 'call "' || runrc || '"' antrc '"' || mode || '"'
|
||||
end
|
||||
|
||||
if _testenv_() = 0 then do
|
||||
say 'Ant environment is not set properly'
|
||||
x = endlocal()
|
||||
exit 16
|
||||
end
|
||||
|
||||
settings = '-Dant.home=' || ANT_HOME '-Djava.home=' || JAVA_HOME
|
||||
|
||||
java = _getenv_('javacmd' 'java')
|
||||
opts = value('ANT_OPTS',,env)
|
||||
args = value('ANT_ARGS',,env)
|
||||
lcp = value('LOCALCLASSPATH',,env)
|
||||
cp = value('CLASSPATH',,env)
|
||||
if value('ANT_USE_CP',,env) \= '' then do
|
||||
if lcp \= '' & right(lcp, 1) \= ';' then lcp = lcp || ';'
|
||||
lcp = lcp || cp
|
||||
'SET CLASSPATH='
|
||||
end
|
||||
if lcp\='' then lcp = '-classpath' lcp
|
||||
|
||||
cmd = java opts lcp '-jar' ANT_HOME ||'\lib\ant-launcher.jar' settings args antarg
|
||||
launcher = stream(ANT_HOME ||'\lib\ant-launcher.jar', 'C', 'query exists')
|
||||
if launcher = '' then entry = 'org.apache.tools.ant.Main'
|
||||
else entry = 'org.apache.tools.ant.launch.Launcher'
|
||||
java opts lcp entry settings args antarg
|
||||
|
||||
x = endlocal()
|
||||
|
||||
return rc
|
||||
|
||||
_testenv_: procedure expose env ANT_HOME JAVA_HOME
|
||||
ANT_HOME = value('ANT_HOME',,env)
|
||||
if ANT_HOME = '' then return 0
|
||||
JAVA_HOME = value('JAVA_HOME',,env)
|
||||
if JAVA_HOME = '' then return 0
|
||||
cp = translate(value('CLASSPATH',,env))
|
||||
if pos(translate(ANT_HOME), cp) = 0 then return 0
|
||||
if pos(translate(JAVA_HOME), cp) = 0 then return 0
|
||||
return 1
|
||||
|
||||
_getenv_: procedure expose env
|
||||
parse arg envar default
|
||||
if default = '' then default = envar
|
||||
var = value(translate(envar),,env)
|
||||
if var = '' then var = default
|
||||
return var
|
||||
24
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antRun
Normal file
24
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antRun
Normal file
@@ -0,0 +1,24 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You 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.
|
||||
|
||||
# Args: DIR command
|
||||
cd "$1"
|
||||
CMD="$2"
|
||||
shift
|
||||
shift
|
||||
|
||||
exec "$CMD" "$@"
|
||||
50
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antRun.bat
Normal file
50
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antRun.bat
Normal file
@@ -0,0 +1,50 @@
|
||||
@echo off
|
||||
|
||||
REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
REM contributor license agreements. See the NOTICE file distributed with
|
||||
REM this work for additional information regarding copyright ownership.
|
||||
REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
REM (the "License"); you may not use this file except in compliance with
|
||||
REM the License. You may obtain a copy of the License at
|
||||
REM
|
||||
REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
REM
|
||||
REM Unless required by applicable law or agreed to in writing, software
|
||||
REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM See the License for the specific language governing permissions and
|
||||
REM limitations under the License.
|
||||
|
||||
if "%OS%"=="Windows_NT" @setlocal
|
||||
if "%OS%"=="WINNT" @setlocal
|
||||
|
||||
if ""%1""=="""" goto runCommand
|
||||
|
||||
rem Change drive and directory to %1
|
||||
if "%OS%"=="Windows_NT" goto nt_cd
|
||||
if "%OS%"=="WINNT" goto nt_cd
|
||||
cd ""%1""
|
||||
goto end_cd
|
||||
:nt_cd
|
||||
cd /d ""%1""
|
||||
:end_cd
|
||||
shift
|
||||
|
||||
rem Slurp the command line arguments. This loop allows for an unlimited number
|
||||
rem of arguments (up to the command line limit, anyway).
|
||||
set ANT_RUN_CMD=%1
|
||||
if ""%1""=="""" goto runCommand
|
||||
shift
|
||||
:loop
|
||||
if ""%1""=="""" goto runCommand
|
||||
set ANT_RUN_CMD=%ANT_RUN_CMD% %1
|
||||
shift
|
||||
goto loop
|
||||
|
||||
:runCommand
|
||||
rem echo %ANT_RUN_CMD%
|
||||
%ANT_RUN_CMD%
|
||||
|
||||
if "%OS%"=="Windows_NT" @endlocal
|
||||
if "%OS%"=="WINNT" @endlocal
|
||||
|
||||
66
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antRun.pl
Normal file
66
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antRun.pl
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You 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.
|
||||
#
|
||||
#######################################################################
|
||||
#
|
||||
# antRun.pl
|
||||
#
|
||||
# wrapper script for invoking commands on a platform with Perl installed
|
||||
# this is akin to antRun.bat, and antRun the SH script
|
||||
#
|
||||
# created: 2001-10-18
|
||||
# author: Jeff Tulley jtulley@novell.com
|
||||
#######################################################################
|
||||
#be fussy about variables
|
||||
use strict;
|
||||
|
||||
#turn warnings on during dev; generates a few spurious uninitialised var access warnings
|
||||
#use warnings;
|
||||
|
||||
#and set $debug to 1 to turn on trace info (currently unused)
|
||||
my $debug=1;
|
||||
|
||||
#######################################################################
|
||||
# change drive and directory to "%1"
|
||||
my $ANT_RUN_CMD = @ARGV[0];
|
||||
|
||||
# assign current run command to "%2"
|
||||
chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n";
|
||||
if ($^O eq "NetWare") {
|
||||
# There is a bug in Perl 5 on NetWare, where chdir does not
|
||||
# do anything. On NetWare, the following path-prefixed form should
|
||||
# always work. (afaict)
|
||||
$ANT_RUN_CMD .= "/".@ARGV[1];
|
||||
}
|
||||
else {
|
||||
$ANT_RUN_CMD = @ARGV[1];
|
||||
}
|
||||
|
||||
# dispose of the first two arguments, leaving only the command's args.
|
||||
shift;
|
||||
shift;
|
||||
|
||||
# run the command
|
||||
my $returnValue = system $ANT_RUN_CMD, @ARGV;
|
||||
if ($returnValue eq 0) {
|
||||
exit 0;
|
||||
}
|
||||
else {
|
||||
# only 0 and 1 are widely recognized as exit values
|
||||
# so change the exit value to 1
|
||||
exit 1;
|
||||
}
|
||||
98
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antenv.cmd
Normal file
98
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/antenv.cmd
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
*/
|
||||
|
||||
'@echo off'
|
||||
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
|
||||
call SysLoadFuncs
|
||||
|
||||
/* Prepare the parameters for later use */
|
||||
parse arg argv
|
||||
mode = ''
|
||||
args = ''
|
||||
opts = ''
|
||||
cp = ''
|
||||
lcp = ''
|
||||
|
||||
do i = 1 to words(argv)
|
||||
param = word(argv, i)
|
||||
select
|
||||
when param='-lcp' then mode = 'l'
|
||||
when param='-cp' | param='-classpath' then mode = 'c'
|
||||
when abbrev('-opts', param, 4) then mode = 'o'
|
||||
when abbrev('-args', param, 4) then mode = 'a'
|
||||
otherwise
|
||||
select
|
||||
when mode = 'a' then args = space(args param, 1)
|
||||
when mode = 'c' then cp = space(cp param, 1)
|
||||
when mode = 'l' then lcp = space(lcp param, 1)
|
||||
when mode = 'o' then opts = space(opts param, 1)
|
||||
otherwise
|
||||
say 'Option' param 'ignored'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
env="OS2ENVIRONMENT"
|
||||
antconf = _getenv_('antconf' 'antconf.cmd')
|
||||
runrc = _getenv_('runrc')
|
||||
interpret 'call "' || runrc || '"' '"' || antconf || '"' 'ETC'
|
||||
ANT_HOME = value('ANT_HOME',,env)
|
||||
JAVA_HOME = value('JAVA_HOME',,env)
|
||||
classpath = value('CLASSPATH',,env)
|
||||
classes = stream(JAVA_HOME || "\lib\classes.zip", "C", "QUERY EXISTS")
|
||||
if classes \= '' then classpath = prepend(classpath classes)
|
||||
classes = stream(JAVA_HOME || "\lib\tools.jar", "C", "QUERY EXISTS")
|
||||
if classes \= '' then classpath = prepend(classpath classes)
|
||||
|
||||
classpath = prepend(classpath ANT_HOME || '\lib\ant-launcher.jar')
|
||||
'SET CLASSPATH=' || classpath
|
||||
|
||||
/* Setting classpathes, options and arguments */
|
||||
envset = _getenv_('envset')
|
||||
if cp\='' then interpret 'call "' || envset || '"' '"; CLASSPATH"' '"' || cp || '"'
|
||||
if lcp\='' then interpret 'call "' || envset || '"' '"; LOCALCLASSPATH"' '"' || lcp || '"'
|
||||
if opts\='' then interpret 'call "' || envset || '"' '"-D ANT_OPTS"' '"' || opts || '"'
|
||||
if args\='' then interpret 'call "' || envset || '"' '"ANT_ARGS"' '"' || args || '"'
|
||||
|
||||
exit 0
|
||||
|
||||
addpath: procedure
|
||||
parse arg path elem
|
||||
if elem = '' then do
|
||||
if path\='' & right(path, 1)\=';' then path = path || ';'
|
||||
return path
|
||||
end
|
||||
if substr(path, length(path)) = ';' then glue = ''
|
||||
else glue = ';'
|
||||
if pos(translate(elem), translate(path)) = 0 then path = path || glue || elem || ';'
|
||||
return path
|
||||
|
||||
prepend: procedure
|
||||
parse arg path elem
|
||||
if elem = '' then do
|
||||
if path\='' & right(path, 1)\=';' then path = path || ';'
|
||||
return path
|
||||
end
|
||||
if pos(translate(elem), translate(path)) = 0 then path = elem || ';' || path
|
||||
return path
|
||||
|
||||
_getenv_: procedure expose env
|
||||
parse arg envar default
|
||||
if default = '' then default = envar
|
||||
var = value(translate(envar),,env)
|
||||
if var = '' then var = default
|
||||
return var
|
||||
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You 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.
|
||||
#
|
||||
# A script to allow Bash or Z-Shell to complete an Ant command-line.
|
||||
#
|
||||
# To install for Bash 2.0 or better, add the following to ~/.bashrc:
|
||||
#
|
||||
# complete -C complete-ant-cmd.pl ant build.sh
|
||||
#
|
||||
# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc:
|
||||
#
|
||||
# function ant_complete () {
|
||||
# local args_line args
|
||||
# read -l args_line
|
||||
# set -A args $args_line
|
||||
# set -A reply $(COMP_LINE=$args_line complete-ant-cmd.pl ${args[1]} $1)
|
||||
# }
|
||||
# compctl -K ant_complete ant build.sh
|
||||
#
|
||||
# @author Mike Williams <mikew@cortexebusiness.com.au>
|
||||
|
||||
my $cmdLine = $ENV{'COMP_LINE'};
|
||||
my $antCmd = $ARGV[0];
|
||||
my $word = $ARGV[1];
|
||||
|
||||
my @completions;
|
||||
if ($word =~ /^-/) {
|
||||
list( restrict( $word, getArguments() ));
|
||||
} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) {
|
||||
list( getBuildFiles($word) );
|
||||
} else {
|
||||
list( restrict( $word, getTargets() ));
|
||||
}
|
||||
|
||||
exit(0);
|
||||
|
||||
sub list {
|
||||
for (@_) {
|
||||
print "$_\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub restrict {
|
||||
my ($word, @completions) = @_;
|
||||
grep( /^\Q$word\E/, @completions );
|
||||
}
|
||||
|
||||
sub getArguments {
|
||||
qw(-buildfile -debug -emacs -f -find -help -listener -logfile
|
||||
-logger -projecthelp -quiet -verbose -version);
|
||||
}
|
||||
|
||||
|
||||
sub getBuildFiles {
|
||||
my ($word) = @_;
|
||||
grep( /\.xml$/, glob( "$word*" ));
|
||||
}
|
||||
|
||||
sub getTargets {
|
||||
|
||||
# Look for build-file
|
||||
my $buildFile = 'build.xml';
|
||||
if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) {
|
||||
$buildFile = $2;
|
||||
}
|
||||
return () unless (-f $buildFile);
|
||||
|
||||
# Run "ant -projecthelp" to list targets. Keep a cache of results in a
|
||||
# cache-file.
|
||||
my $cacheFile = $buildFile;
|
||||
$cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|;
|
||||
if ((!-e $cacheFile) || (-z $cacheFile) || (-M $buildFile) < (-M $cacheFile)) {
|
||||
open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n";
|
||||
open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return();
|
||||
my %targets;
|
||||
while( <HELP> ) {
|
||||
if (/^\s+(\S+)/) {
|
||||
$targets{$1}++;
|
||||
}
|
||||
}
|
||||
my @targets = sort keys %targets;
|
||||
for (@targets) { print CACHE "$_\n"; }
|
||||
return @targets;
|
||||
}
|
||||
|
||||
# Read the target-cache
|
||||
open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n";
|
||||
my @targets;
|
||||
while (<CACHE>) {
|
||||
chop;
|
||||
s/\r$//; # for Cygwin
|
||||
push( @targets, $_ );
|
||||
}
|
||||
close( CACHE );
|
||||
@targets;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
131
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/envset.cmd
Normal file
131
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/envset.cmd
Normal file
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
|
||||
SET environment variables
|
||||
First optional parameter:
|
||||
; parameters are considered parts of a path variable, semicolons are
|
||||
appended to each element if not already present
|
||||
-D parameters are properties for Java or Makefile etc., -D will be
|
||||
prepended and the parameters will be separated by a space
|
||||
=D the same as above but equal sign is not required
|
||||
, parameters should be comma separated in the environment variable
|
||||
- parameters should be separated by the next parameter
|
||||
Other values mean that the first parameter is missing and the environment
|
||||
variable will be set to the space separated parameters
|
||||
|
||||
Second parameter: name of the environment variable
|
||||
|
||||
Next parameters: values
|
||||
; implies that the equal sign is considered a part of the parameter and is
|
||||
not interpreted
|
||||
|
||||
-D requires parameters in the form name=value. If the equal sign is not found,
|
||||
the parameters are changed to name=expanded_name
|
||||
|
||||
Other options have optional equal sign. If it is found, only the part after
|
||||
the equal sign will be oprionally expanded.
|
||||
|
||||
If the parameter is the minus sign, the next parameter will not be expanded.
|
||||
If the parameter is a single dot, it will be replaced with the value of the
|
||||
environment variable as it existed before envset was invoked.
|
||||
|
||||
For other parameters the batch looks for the environment variable with the
|
||||
same name (in uppercase). If it is found, it forms the expanded_name. If
|
||||
the environment variable with such a name does not exist, the expanded_name
|
||||
will hold the parameter name without case conversion.
|
||||
*/
|
||||
|
||||
parse arg mode envar args
|
||||
|
||||
equal = 0
|
||||
sep = ' '
|
||||
|
||||
/* Parse command line parameters */
|
||||
select
|
||||
when mode='-' then do
|
||||
sep = envar
|
||||
parse var args envar args
|
||||
end
|
||||
when mode=';' then do
|
||||
sep = ''
|
||||
equal = -1
|
||||
end
|
||||
when mode='-D' then equal = 1
|
||||
when mode='=D' then mode = '-D'
|
||||
when mode=',' then sep = ','
|
||||
otherwise
|
||||
args = envar args
|
||||
envar = mode
|
||||
mode = ''
|
||||
end
|
||||
|
||||
env = 'OS2ENVIRONMENT'
|
||||
envar = translate(envar)
|
||||
orig = value(envar,,env)
|
||||
newval = ''
|
||||
expand = 1
|
||||
|
||||
/* for each parameter... */
|
||||
do i = 1 to words(args)
|
||||
if expand > 0 & word(args, i) = '-' then expand = 0
|
||||
else call addval word(args, i)
|
||||
end
|
||||
|
||||
/* Optionally enclose path variable by quotes */
|
||||
if mode = ';' & pos(' ', newval) > 0 then newval = '"' || newval || '"'
|
||||
|
||||
/* Set the new value, 'SET' cannot be used since it does not allow '=' */
|
||||
x = value(envar, newval, env)
|
||||
exit 0
|
||||
|
||||
addval: procedure expose sep equal orig expand newval mode env
|
||||
parse arg var
|
||||
|
||||
if var = '.' then expvar = orig
|
||||
else do
|
||||
if equal >= 0 then do
|
||||
parse var var name '=' val
|
||||
if val = '' then var = name
|
||||
else var = val
|
||||
end
|
||||
if expand = 0 then expvar = var
|
||||
else expvar = value(translate(var),,env)
|
||||
if expvar = '' then expvar = var
|
||||
if equal >= 0 then do
|
||||
if val = '' then do
|
||||
parse var expvar key '=' val
|
||||
if val <> '' then name = key
|
||||
else do
|
||||
if equal > 0 then val = key
|
||||
else name = key
|
||||
end
|
||||
end
|
||||
else val = expvar
|
||||
if pos(' ', val) > 0 | pos('=', val) > 0 then val = '"' || val || '"'
|
||||
if val = '' then expvar = name
|
||||
else expvar = name || '=' || val
|
||||
end
|
||||
if mode = '-D' then expvar = '-D' || expvar
|
||||
if mode = ';' then do
|
||||
if right(expvar, 1) <> ';' then expvar = expvar || ';'
|
||||
end
|
||||
end
|
||||
|
||||
if newval = '' then newval = expvar
|
||||
else newval = newval || sep || expvar
|
||||
expand = 1
|
||||
return
|
||||
31
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/lcp.bat
Normal file
31
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/lcp.bat
Normal file
@@ -0,0 +1,31 @@
|
||||
REM
|
||||
REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
REM contributor license agreements. See the NOTICE file distributed with
|
||||
REM this work for additional information regarding copyright ownership.
|
||||
REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
REM (the "License"); you may not use this file except in compliance with
|
||||
REM the License. You may obtain a copy of the License at
|
||||
REM
|
||||
REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
REM
|
||||
REM Unless required by applicable law or agreed to in writing, software
|
||||
REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM See the License for the specific language governing permissions and
|
||||
REM limitations under the License.
|
||||
REM
|
||||
REM
|
||||
|
||||
set _CLASSPATHCOMPONENT=%1
|
||||
if ""%1""=="""" goto gotAllArgs
|
||||
shift
|
||||
|
||||
:argCheck
|
||||
if ""%1""=="""" goto gotAllArgs
|
||||
set _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1
|
||||
shift
|
||||
goto argCheck
|
||||
|
||||
:gotAllArgs
|
||||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%_CLASSPATHCOMPONENT%
|
||||
|
||||
153
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/runant.pl
Normal file
153
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/runant.pl
Normal file
@@ -0,0 +1,153 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You 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.
|
||||
#
|
||||
#######################################################################
|
||||
#
|
||||
# runant.pl
|
||||
#
|
||||
# wrapper script for invoking ant in a platform with Perl installed
|
||||
# this may include cgi-bin invocation, which is considered somewhat daft.
|
||||
# (slo: that should be a separate file which can be derived from this
|
||||
# and returns the XML formatted output)
|
||||
#
|
||||
# the code is not totally portable due to classpath and directory splitting
|
||||
# issues. oops. (NB, use File::Spec::Functions will help and the code is
|
||||
# structured for the catfile() call, but because of perl version funnies
|
||||
# the code is not included.
|
||||
#
|
||||
# created: 2000-8-24
|
||||
# author: Steve Loughran steve_l@sourceforge.net
|
||||
#######################################################################
|
||||
#
|
||||
# Assumptions:
|
||||
#
|
||||
# - the "java" executable/script is on the command path
|
||||
# - ANT_HOME has been set
|
||||
# - target platform uses ":" as classpath separator or perl indicates it is dos/win32
|
||||
# - target platform uses "/" as directory separator.
|
||||
|
||||
#be fussy about variables
|
||||
use strict;
|
||||
|
||||
#platform specifics (disabled)
|
||||
#use File::Spec::Functions;
|
||||
|
||||
#turn warnings on during dev; generates a few spurious uninitialised var access warnings
|
||||
#use warnings;
|
||||
|
||||
#and set $debug to 1 to turn on trace info
|
||||
my $debug=1;
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
# check to make sure environment is setup
|
||||
#
|
||||
|
||||
my $HOME = $ENV{ANT_HOME};
|
||||
if ($HOME eq "")
|
||||
{
|
||||
die "\n\nANT_HOME *MUST* be set!\n\n";
|
||||
}
|
||||
|
||||
my $JAVACMD = $ENV{JAVACMD};
|
||||
$JAVACMD = "java" if $JAVACMD eq "";
|
||||
|
||||
my $onnetware = 0;
|
||||
if ($^O eq "NetWare")
|
||||
{
|
||||
$onnetware = 1;
|
||||
}
|
||||
|
||||
my $oncygwin = ($^O eq "cygwin");
|
||||
|
||||
#ISSUE: what java wants to split up classpath varies from platform to platform
|
||||
#and perl is not too hot at hinting which box it is on.
|
||||
#here I assume ":" 'cept on win32, dos, and netware. Add extra tests here as needed.
|
||||
my $s=":";
|
||||
if(($^O eq "MSWin32") || ($^O eq "dos") || ($^O eq "cygwin") ||
|
||||
($onnetware == 1))
|
||||
{
|
||||
$s=";";
|
||||
}
|
||||
|
||||
#build up standard classpath
|
||||
my $localpath = "$HOME/lib/ant-launcher.jar";
|
||||
#set JVM options and Ant arguments, if any
|
||||
my @ANT_OPTS=split(" ", $ENV{ANT_OPTS});
|
||||
my @ANT_ARGS=split(" ", $ENV{ANT_ARGS});
|
||||
|
||||
#jikes
|
||||
if($ENV{JIKESPATH} ne "")
|
||||
{
|
||||
push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
|
||||
}
|
||||
|
||||
#construct arguments to java
|
||||
my @ARGS;
|
||||
push @ARGS, @ANT_OPTS;
|
||||
|
||||
my $CYGHOME = "";
|
||||
|
||||
my $classpath=$ENV{CLASSPATH};
|
||||
if ($oncygwin == 1) {
|
||||
$localpath = `cygpath --path --windows $localpath`;
|
||||
chomp ($localpath);
|
||||
if (! $classpath eq "")
|
||||
{
|
||||
$classpath = `cygpath --path --windows "$classpath"`;
|
||||
chomp ($classpath);
|
||||
}
|
||||
$HOME = `cygpath --path --windows $HOME`;
|
||||
chomp ($HOME);
|
||||
$CYGHOME = `cygpath --path --windows $ENV{HOME}`;
|
||||
chomp ($CYGHOME);
|
||||
}
|
||||
push @ARGS, "-classpath", "$localpath";
|
||||
push @ARGS, "-Dant.home=$HOME";
|
||||
if ( ! $CYGHOME eq "" )
|
||||
{
|
||||
push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\""
|
||||
}
|
||||
push @ARGS, "org.apache.tools.ant.launch.Launcher", @ANT_ARGS;
|
||||
push @ARGS, @ARGV;
|
||||
if (! $classpath eq "")
|
||||
{
|
||||
if ($onnetware == 1)
|
||||
{
|
||||
# make classpath literally $CLASSPATH
|
||||
# this is to avoid pushing us over the 512 character limit
|
||||
# even skip the ; - that is already in $localpath
|
||||
push @ARGS, "-lib", "\$CLASSPATH";
|
||||
}
|
||||
else
|
||||
{
|
||||
push @ARGS, "-lib", "$classpath";
|
||||
}
|
||||
}
|
||||
print "\n $JAVACMD @ARGS\n\n" if ($debug);
|
||||
|
||||
my $returnValue = system $JAVACMD, @ARGS;
|
||||
if ($returnValue eq 0)
|
||||
{
|
||||
exit 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
# only 0 and 1 are widely recognized as exit values
|
||||
# so change the exit value to 1
|
||||
exit 1;
|
||||
}
|
||||
102
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/runant.py
Normal file
102
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/runant.py
Normal file
@@ -0,0 +1,102 @@
|
||||
#!/usr/bin/python
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You 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.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
runant.py
|
||||
|
||||
This script is a translation of the runant.pl written by Steve Loughran.
|
||||
It runs ant with/out arguments, it should be quite portable (thanks to
|
||||
the python os library)
|
||||
This script has been tested with Python2.0/Win2K
|
||||
|
||||
created: 2001-04-11
|
||||
author: Pierre Dittgen pierre.dittgen@criltelecom.com
|
||||
|
||||
Assumptions:
|
||||
|
||||
- the "java" executable/script is on the command path
|
||||
"""
|
||||
import os, os.path, string, sys
|
||||
|
||||
# Change it to 1 to get extra debug information
|
||||
debug = 0
|
||||
|
||||
#######################################################################
|
||||
|
||||
# If ANT_HOME is not set default to script's parent directory
|
||||
if os.environ.has_key('ANT_HOME'):
|
||||
ANT_HOME = os.environ['ANT_HOME']
|
||||
else:
|
||||
ANT_HOME = os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0])))
|
||||
|
||||
# set ANT_LIB location
|
||||
ANT_LIB = os.path.join(ANT_HOME, 'lib')
|
||||
|
||||
# set JAVACMD (check variables JAVACMD and JAVA_HOME)
|
||||
JAVACMD = None
|
||||
if not os.environ.has_key('JAVACMD'):
|
||||
if os.environ.has_key('JAVA_HOME'):
|
||||
if not os.path.exists(os.environ['JAVA_HOME']):
|
||||
print "Warning: JAVA_HOME is not defined correctly."
|
||||
else:
|
||||
JAVACMD = os.path.join(os.environ['JAVA_HOME'], 'bin', 'java')
|
||||
else:
|
||||
print "Warning: JAVA_HOME not set."
|
||||
else:
|
||||
JAVACMD = os.environ['JAVACMD']
|
||||
if not JAVACMD:
|
||||
JAVACMD = 'java'
|
||||
|
||||
launcher_jar = os.path.join(ANT_LIB, 'ant-launcher.jar')
|
||||
if not os.path.exists(launcher_jar):
|
||||
print 'Warning: Unable to locate ant-launcher.jar. Expected to find it in %s' % \
|
||||
ANT_LIB
|
||||
|
||||
# Build up standard classpath (LOCALCLASSPATH)
|
||||
LOCALCLASSPATH = launcher_jar
|
||||
if os.environ.has_key('LOCALCLASSPATH'):
|
||||
LOCALCLASSPATH += os.pathsep + os.environ['LOCALCLASSPATH']
|
||||
|
||||
ANT_OPTS = ""
|
||||
if os.environ.has_key('ANT_OPTS'):
|
||||
ANT_OPTS = os.environ['ANT_OPTS']
|
||||
|
||||
OPTS = ""
|
||||
if os.environ.has_key('JIKESPATH'):
|
||||
OPTS = '-Djikes.class.path=\"%s\"' % os.environ['JIKESPATH']
|
||||
|
||||
ANT_ARGS = ""
|
||||
if os.environ.has_key('ANT_ARGS'):
|
||||
ANT_ARGS = os.environ['ANT_ARGS']
|
||||
|
||||
CLASSPATH = ""
|
||||
if os.environ.has_key('CLASSPATH'):
|
||||
CLASSPATH = "-lib " + os.environ['CLASSPATH']
|
||||
|
||||
# Builds the commandline
|
||||
cmdline = ('%s %s -classpath %s -Dant.home=%s %s ' + \
|
||||
'org.apache.tools.ant.launch.Launcher %s %s %s') \
|
||||
% (JAVACMD, ANT_OPTS, LOCALCLASSPATH, ANT_HOME, OPTS, ANT_ARGS, \
|
||||
CLASSPATH, string.join(sys.argv[1:], ' '))
|
||||
|
||||
if debug:
|
||||
print '\n%s\n\n' % (cmdline)
|
||||
sys.stdout.flush()
|
||||
|
||||
# Run the biniou!
|
||||
os.system(cmdline)
|
||||
60
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/runrc.cmd
Normal file
60
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/bin/runrc.cmd
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
|
||||
Run RC file, name is in the first arg, second arg is either PATH
|
||||
ENV or -r or nothing
|
||||
*/
|
||||
|
||||
parse arg name path rest
|
||||
|
||||
if name = '' then do
|
||||
say 'RC file name is missing'
|
||||
exit 1
|
||||
end
|
||||
|
||||
if rest \= '' then do
|
||||
say 'Too many parameters'
|
||||
exit 1
|
||||
end
|
||||
|
||||
call runit name path
|
||||
exit 0
|
||||
|
||||
runit: procedure
|
||||
parse arg name path dir
|
||||
|
||||
if path \= '' & path \= '-r' then do
|
||||
dir = value(translate(path),,'OS2ENVIRONMENT')
|
||||
if dir = '' then return
|
||||
dir = translate(dir, '\', '/') /* change UNIX-like path to OS/2 */
|
||||
end
|
||||
|
||||
if dir = '' then dir = directory()
|
||||
|
||||
if path = '-r' then do /* recursive call */
|
||||
subdir = filespec('path', dir)
|
||||
if subdir \= '\' then do
|
||||
subdir = left(subdir, length(subdir)-1)
|
||||
call runit name path filespec('drive', dir) || subdir
|
||||
end
|
||||
end
|
||||
|
||||
/* Look for the file and run it */
|
||||
if right(dir, 1) \= '\' then dir = dir || '\'
|
||||
rcfile = stream(dir || name, 'c', 'query exists')
|
||||
if rcfile \= '' then interpret 'call "' || rcfile || '"'
|
||||
|
||||
return
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/ant-bootstrap.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/ant-bootstrap.jar
Normal file
Binary file not shown.
148
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/changelog.xsl
Normal file
148
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/changelog.xsl
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<xsl:stylesheet
|
||||
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
|
||||
version='1.0'>
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
|
||||
-->
|
||||
<xsl:param name="title"/>
|
||||
<xsl:param name="module"/>
|
||||
<xsl:param name="cvsweb"/>
|
||||
|
||||
<xsl:output method="html" indent="yes" encoding="US-ASCII"
|
||||
doctype-public="-//W3C//DTD HTML 4.01//EN"
|
||||
doctype-system="http://www.w3.org/TR/html401/strict.dtd"/>
|
||||
|
||||
<!-- Copy standard document elements. Elements that
|
||||
should be ignored must be filtered by apply-templates
|
||||
tags. -->
|
||||
<xsl:template match="*">
|
||||
<xsl:copy>
|
||||
<xsl:copy-of select="attribute::*[. != '']"/>
|
||||
<xsl:apply-templates/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="changelog">
|
||||
<html>
|
||||
<head>
|
||||
<title><xsl:value-of select="$title"/></title>
|
||||
<style type="text/css">
|
||||
body, p {
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
font-size: 80%;
|
||||
color: #000000;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
tr, td {
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
background: #eeeee0;
|
||||
}
|
||||
td {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.dateAndAuthor {
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
background: #a6caf0;
|
||||
padding-left: 3px;
|
||||
}
|
||||
a {
|
||||
color: #000000;
|
||||
}
|
||||
pre {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
<a name="top"><xsl:value-of select="$title"/></a>
|
||||
</h1>
|
||||
<p style="text-align: right">Designed for use with <a href="http://ant.apache.org/">Apache Ant</a>.</p>
|
||||
<hr/>
|
||||
<table border="0" width="100%" cellspacing="1">
|
||||
|
||||
<xsl:apply-templates select=".//entry">
|
||||
<xsl:sort select="date" data-type="text" order="descending"/>
|
||||
<xsl:sort select="time" data-type="text" order="descending"/>
|
||||
</xsl:apply-templates>
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="entry">
|
||||
<tr>
|
||||
<td class="dateAndAuthor">
|
||||
<xsl:value-of select="date"/><xsl:text> </xsl:text><xsl:value-of select="time"/><xsl:text> </xsl:text><xsl:value-of select="author"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre>
|
||||
<xsl:apply-templates select="msg"/></pre>
|
||||
<ul>
|
||||
<xsl:apply-templates select="file"/>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="date">
|
||||
<i><xsl:value-of select="."/></i>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="time">
|
||||
<i><xsl:value-of select="."/></i>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="author">
|
||||
<i>
|
||||
<a>
|
||||
<xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
|
||||
<xsl:value-of select="."/></a>
|
||||
</i>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file">
|
||||
<li>
|
||||
<a>
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(prevrevision) = 0 ">
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&content-type=text/x-cvsweb-markup</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&r2=<xsl:value-of select="prevrevision"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:value-of select="name" /> (<xsl:value-of select="revision"/>)</a>
|
||||
</li>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Any elements within a msg are processed,
|
||||
so that we can preserve HTML tags. -->
|
||||
<xsl:template match="msg">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,299 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="http://xml.apache.org/xalan/redirect"
|
||||
extension-element-prefixes="redirect">
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
<xsl:param name="basedir" select="'.'"/>
|
||||
|
||||
<xsl:template match="checkstyle">
|
||||
<!-- create the index.html -->
|
||||
<redirect:write file="{$output.dir}/index.html">
|
||||
<xsl:call-template name="index.html"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the stylesheet.css -->
|
||||
<redirect:write file="{$output.dir}/stylesheet.css">
|
||||
<xsl:call-template name="stylesheet.css"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-summary.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-frame.html">
|
||||
<xsl:apply-templates select="." mode="overview"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-classes.html at the root -->
|
||||
<redirect:write file="{$output.dir}/allclasses-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.classes"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- process all files -->
|
||||
<xsl:apply-templates select="file[count(error) != 0]"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="index.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>CheckStyle Audit</title>
|
||||
</head>
|
||||
<frameset cols="20%,80%">
|
||||
<frame src="allclasses-frame.html" name="fileListFrame"/>
|
||||
<frame src="overview-frame.html" name="fileFrame"/>
|
||||
</frameset>
|
||||
<noframes>
|
||||
<h2>Frame Alert</h2>
|
||||
<p>
|
||||
This document is designed to be viewed using the frames feature.
|
||||
If you see this message, you are using a non-frame-capable web client.
|
||||
</p>
|
||||
</noframes>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="pageHeader">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td class="text-align:right"><h2>CheckStyle Audit</h2></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-align:right">Designed for use with
|
||||
<a href='http://checkstyle.sourceforge.net/'>CheckStyle</a> and
|
||||
<a href='http://ant.apache.org/'>Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="checkstyle" mode="overview">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- page header -->
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
|
||||
<!-- Summary part -->
|
||||
<xsl:apply-templates select="." mode="summary"/>
|
||||
<hr size="1" width="100%" align="left"/>
|
||||
|
||||
<!-- File list part -->
|
||||
<xsl:apply-templates select="." mode="filelist"/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="stylesheet.css">
|
||||
.bannercell {
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
body {
|
||||
margin-left: 10;
|
||||
margin-right: 10;
|
||||
font:normal 80% arial,helvetica,sanserif;
|
||||
background-color:#FFFFFF;
|
||||
color:#000000;
|
||||
}
|
||||
.oddrow td {
|
||||
background: #efefef;
|
||||
}
|
||||
.evenrow td {
|
||||
background: #fff;
|
||||
}
|
||||
th, td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
th {
|
||||
font-weight:bold;
|
||||
background: #ccc;
|
||||
color: black;
|
||||
}
|
||||
table, th, td {
|
||||
font-size:100%;
|
||||
border: none
|
||||
}
|
||||
table.log tr td, tr th {
|
||||
|
||||
}
|
||||
h2 {
|
||||
font-weight:bold;
|
||||
font-size:140%;
|
||||
margin-bottom: 5;
|
||||
}
|
||||
h3 {
|
||||
font-size:100%;
|
||||
font-weight:bold;
|
||||
background: #525D76;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
padding: 5px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
Creates an all-classes.html file that contains a link to all files.
|
||||
-->
|
||||
<xsl:template match="checkstyle" mode="all.classes">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Files</h2>
|
||||
<p>
|
||||
<table width="100%">
|
||||
<!-- For each file create its part -->
|
||||
<xsl:apply-templates select="file[count(error) != 0]" mode="all.classes">
|
||||
<xsl:sort select="substring-after(@name, $basedir)"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="checkstyle" mode="filelist">
|
||||
<h3>Files</h3>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Errors</th>
|
||||
</tr>
|
||||
<xsl:apply-templates select="file[count(error) != 0]" mode="filelist">
|
||||
<xsl:sort select="count(error)" order="descending" data-type="number"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file" mode="filelist">
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td nowrap="nowrap">
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>files/</xsl:text><xsl:value-of select="substring-after(@name, $basedir)"/><xsl:text>.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="substring-after(@name, $basedir)"/>
|
||||
</a>
|
||||
</td>
|
||||
<td><xsl:value-of select="count(error)"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file" mode="all.classes">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a target="fileFrame">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>files/</xsl:text><xsl:value-of select="substring-after(@name, $basedir)"/><xsl:text>.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="substring-after(@name, $basedir)"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
transform string like a/b/c to ../../../
|
||||
@param path the path to transform into a descending directory path
|
||||
-->
|
||||
<xsl:template name="path">
|
||||
<xsl:param name="path"/>
|
||||
|
||||
<!-- Convert a windows path '\' to a unix path '/' for further processing. -->
|
||||
<xsl:variable name="path2" select="translate($path,'\','/')"/>
|
||||
|
||||
|
||||
<xsl:if test="contains($path2,'/')">
|
||||
<xsl:text>../</xsl:text>
|
||||
<xsl:call-template name="path">
|
||||
<xsl:with-param name="path"><xsl:value-of select="substring-after($path2,'/')"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(contains($path2,'/')) and not($path2 = '')">
|
||||
<xsl:text>../</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file">
|
||||
<redirect:write file="{$output.dir}/files/{substring-after(@name, $basedir)}.html">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css">
|
||||
<xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="substring-after(@name, $basedir)"/></xsl:call-template><xsl:text>stylesheet.css</xsl:text></xsl:attribute>
|
||||
</link>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>File <xsl:value-of select="substring-after(@name, $basedir)"/></h3>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<tr>
|
||||
<th>Error Description</th>
|
||||
<th>Line:Column</th>
|
||||
</tr>
|
||||
<xsl:for-each select="error">
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td><a title="{@source}"><xsl:value-of select="@message"/></a></td>
|
||||
<td align="center"><xsl:value-of select="@line"/><xsl:if test="@column">:<xsl:value-of select="@column"/></xsl:if></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</redirect:write>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="checkstyle" mode="summary">
|
||||
<h3>Summary</h3>
|
||||
<xsl:variable name="fileCount" select="count(file)"/>
|
||||
<xsl:variable name="errorCount" select="count(file/error)"/>
|
||||
<xsl:variable name="fileErrorCount" select="count(file[count(error) != 0])"/>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<tr>
|
||||
<th>Total Files</th>
|
||||
<th>Files With Errors</th>
|
||||
<th>Errors</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td><xsl:value-of select="$fileCount"/></td>
|
||||
<td><xsl:value-of select="$fileErrorCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="alternated-row">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:if test="position() mod 2 = 1">oddrow</xsl:if>
|
||||
<xsl:if test="position() mod 2 = 0">evenrow</xsl:if>
|
||||
</xsl:attribute>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<xsl:strip-space elements="checkstyle"/>
|
||||
<xsl:preserve-space elements="file"/>
|
||||
<xsl:output method="text"/>
|
||||
<xsl:template match="checkstyle/file/error">
|
||||
<xsl:value-of select="../@name"/>
|
||||
<xsl:text>:</xsl:text>
|
||||
<xsl:value-of select="@line"/>
|
||||
<xsl:text>:</xsl:text>
|
||||
<xsl:value-of select="@column"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="@message"/>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="org.apache.xalan.lib.Redirect"
|
||||
extension-element-prefixes="redirect">
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<xsl:output method="xml" indent="yes"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
<xsl:param name="basedir" select="'.'"/>
|
||||
|
||||
<xsl:template match="checkstyle">
|
||||
<document>
|
||||
<properties>
|
||||
<title>Checkstyle Audit</title>
|
||||
</properties>
|
||||
|
||||
<body>
|
||||
<xsl:apply-templates select="." mode="summary"/>
|
||||
<!-- File list part -->
|
||||
<xsl:apply-templates select="." mode="filelist"/>
|
||||
<xsl:apply-templates select="file[count(error) != 0]"/>
|
||||
</body>
|
||||
</document>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="checkstyle" mode="filelist">
|
||||
<section name="Files">
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Errors</th>
|
||||
</tr>
|
||||
<xsl:apply-templates select="file[count(error) != 0]" mode="filelist">
|
||||
<xsl:sort select="count(error)" order="descending" data-type="number"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</section>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file" mode="filelist">
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td nowrap="nowrap">
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>files</xsl:text><xsl:value-of select="substring-after(@name, $basedir)"/><xsl:text>.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="substring-after(@name, $basedir)"/>
|
||||
</a>
|
||||
</td>
|
||||
<td><xsl:value-of select="count(error)"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file">
|
||||
<redirect:write file="{$output.dir}/files{substring-after(@name, $basedir)}.xml">
|
||||
<document>
|
||||
<properties>
|
||||
<title>Checkstyle Audit</title>
|
||||
</properties>
|
||||
|
||||
<body>
|
||||
<section name="Details for {substring-after(@name, $basedir)}">
|
||||
<table>
|
||||
<tr>
|
||||
<th>Error Description</th>
|
||||
<th>Line</th>
|
||||
</tr>
|
||||
<xsl:for-each select="error">
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td><a title="{@source}"><xsl:value-of select="@message"/></a></td>
|
||||
<td><xsl:value-of select="@line"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</section>
|
||||
</body>
|
||||
</document>
|
||||
</redirect:write>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="checkstyle" mode="summary">
|
||||
<section name="Summary">
|
||||
<xsl:variable name="fileCount" select="count(file)"/>
|
||||
<xsl:variable name="errorCount" select="count(file/error)"/>
|
||||
<xsl:variable name="fileErrorCount" select="count(file[count(error) != 0])"/>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Files</th>
|
||||
<th>Files With Errors</th>
|
||||
<th>Errors</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<xsl:call-template name="alternated-row"/>
|
||||
<td><xsl:value-of select="$fileCount"/></td>
|
||||
<td><xsl:value-of select="$fileErrorCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="alternated-row">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:if test="position() mod 2 = 1">oddrow</xsl:if>
|
||||
<xsl:if test="position() mod 2 = 0">evenrow</xsl:if>
|
||||
</xsl:attribute>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -0,0 +1,489 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="org.apache.xalan.lib.Redirect"
|
||||
extension-element-prefixes="redirect">
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
|
||||
Sample stylesheet to be used with JProbe 3.0 XML output.
|
||||
|
||||
It creates a set of HTML files a la javadoc where you can browse easily
|
||||
through all packages and classes.
|
||||
|
||||
It is best used with JProbe Coverage Ant task that gives you the benefit
|
||||
of a reference classpath so that you have the list of classes/methods
|
||||
that are not used at all in a given classpath.
|
||||
|
||||
@author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/>
|
||||
|
||||
-->
|
||||
|
||||
<!-- default output directory is current directory -->
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
|
||||
<!-- ======================================================================
|
||||
Root element
|
||||
======================================================================= -->
|
||||
<xsl:template match="/snapshot">
|
||||
<!-- create the index.html -->
|
||||
<redirect:write file="{$output.dir}/index.html">
|
||||
<xsl:call-template name="index.html"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the stylesheet.css -->
|
||||
<redirect:write file="{$output.dir}/stylesheet.css">
|
||||
<xsl:call-template name="stylesheet.css"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-summary.html">
|
||||
<xsl:apply-templates select="." mode="overview.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-classes.html at the root -->
|
||||
<redirect:write file="{$output.dir}/allclasses-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.classes"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- process all packages -->
|
||||
<xsl:apply-templates select="./package" mode="write"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- =======================================================================
|
||||
Frameset definition. Entry point for the report.
|
||||
3 frames: packageListFrame, classListFrame, classFrame
|
||||
======================================================================= -->
|
||||
<xsl:template name="index.html">
|
||||
<html>
|
||||
<head><title>Coverage Results.</title></head>
|
||||
<frameset cols="20%,80%">
|
||||
<frameset rows="30%,70%">
|
||||
<frame src="overview-frame.html" name="packageListFrame"/>
|
||||
<frame src="allclasses-frame.html" name="classListFrame"/>
|
||||
</frameset>
|
||||
<frame src="overview-summary.html" name="classFrame"/>
|
||||
</frameset>
|
||||
<noframes>
|
||||
<h2>Frame Alert</h2>
|
||||
<p>
|
||||
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
||||
</p>
|
||||
</noframes>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- =======================================================================
|
||||
Stylesheet CSS used
|
||||
======================================================================= -->
|
||||
<!-- this is the stylesheet css to use for nearly everything -->
|
||||
<xsl:template name="stylesheet.css">
|
||||
.bannercell {
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
body {
|
||||
margin-left: 10;
|
||||
margin-right: 10;
|
||||
font:normal 80% arial,helvetica,sanserif;
|
||||
background-color:#FFFFFF;
|
||||
color:#000000;
|
||||
}
|
||||
.a td {
|
||||
background: #efefef;
|
||||
}
|
||||
.b td {
|
||||
background: #fff;
|
||||
}
|
||||
th, td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
th {
|
||||
font-weight:bold;
|
||||
background: #ccc;
|
||||
color: black;
|
||||
}
|
||||
table, th, td {
|
||||
font-size:100%;
|
||||
border: none
|
||||
}
|
||||
table.log tr td, tr th {
|
||||
|
||||
}
|
||||
h2 {
|
||||
font-weight:bold;
|
||||
font-size:140%;
|
||||
margin-bottom: 5;
|
||||
}
|
||||
h3 {
|
||||
font-size:100%;
|
||||
font-weight:bold;
|
||||
background: #525D76;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
padding: 5px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</xsl:template>
|
||||
|
||||
<!-- =======================================================================
|
||||
List of all classes in all packages
|
||||
This will be the first page in the classListFrame
|
||||
======================================================================= -->
|
||||
<xsl:template match="snapshot" mode="all.classes">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link"/>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Classes</h2>
|
||||
<table width="100%">
|
||||
<xsl:for-each select="package/class">
|
||||
<xsl:sort select="@name"/>
|
||||
<xsl:variable name="package.name" select="(ancestor::package)[last()]/@name"/>
|
||||
<xsl:variable name="link">
|
||||
<xsl:if test="not($package.name='')">
|
||||
<xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text>
|
||||
</xsl:if><xsl:value-of select="@name"/><xsl:text>.html</xsl:text>
|
||||
</xsl:variable>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a target="classFrame" href="{$link}"><xsl:value-of select="@name"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- list of all packages -->
|
||||
<xsl:template match="snapshot" mode="all.packages">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link"/>
|
||||
</head>
|
||||
<body>
|
||||
<h2><a href="overview-summary.html" target="classFrame">Home</a></h2>
|
||||
<h2>Packages</h2>
|
||||
<table width="100%">
|
||||
<xsl:for-each select="package">
|
||||
<xsl:sort select="@name" order="ascending"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="{translate(@name,'.','/')}/package-summary.html" target="classFrame">
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- overview of statistics in packages -->
|
||||
<xsl:template match="snapshot" mode="overview.packages">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link"/>
|
||||
</head>
|
||||
<body onload="open('allclasses-frame.html','classListFrame')">
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Summary</h3>
|
||||
<table class="log" cellpadding="5" cellspacing="2" width="100%">
|
||||
<tr>
|
||||
<!--th width="10%" nowrap="nowrap">Date</th>
|
||||
<th width="10%" nowrap="nowrap">Elapsed time</th-->
|
||||
<th width="10%" nowrap="nowrap">Reported Classes</th>
|
||||
<th width="10%" nowrap="nowrap">Methods Hit</th>
|
||||
<th width="10%" nowrap="nowrap">Lines Hit</th>
|
||||
</tr>
|
||||
<tr class="a">
|
||||
<!--td nowrap="nowrap"><xsl:value-of select="execution_log/@program_start"/></td>
|
||||
<td><xsl:value-of select="format-number(execution_log/@elapsed_time div 1000,'0.0')"/>secs</td-->
|
||||
<td><xsl:value-of select="count(package/class)"/></td>
|
||||
<td><xsl:value-of select="format-number(cov.data/@hit_methods div cov.data/@total_methods,'0.0%')"/></td>
|
||||
<td><xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: justify;">
|
||||
To ensure accurate test runs on Java applications, developers need to know how much of
|
||||
the code has been tested, and where to find any untested code. Coverage helps you
|
||||
locate untested code, and measure precisely how much code has been exercised.
|
||||
The result is a higher quality application in a shorter period of time.
|
||||
<p/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Packages</h3>
|
||||
<table class="log" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:apply-templates select="package[1]" mode="stats.header"/>
|
||||
<!-- display packages and sort them via their coverage rate -->
|
||||
<xsl:for-each select="package">
|
||||
<xsl:sort data-type="number" select="cov.data/@hit_lines div cov.data/@total_lines"/>
|
||||
<tr>
|
||||
<xsl:call-template name="alternate-row"/>
|
||||
<td><a href="{translate(@name,'.','/')}/package-summary.html"><xsl:value-of select="@name"/></a></td>
|
||||
<td><xsl:value-of select="format-number(cov.data/@hit_methods div cov.data/@total_methods,'0.0%')"/></td>
|
||||
<td><xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
<xsl:call-template name="pageFooter"/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
detailed info for a package. It will output the list of classes
|
||||
, the summary page, and the info for each class
|
||||
-->
|
||||
<xsl:template match="package" mode="write">
|
||||
<xsl:variable name="package.dir">
|
||||
<xsl:if test="not(@name = '')"><xsl:value-of select="translate(@name,'.','/')"/></xsl:if>
|
||||
<xsl:if test="@name = ''">.</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- create a classes-list.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-frame.html">
|
||||
<xsl:apply-templates select="." mode="classes.list"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create a package-summary.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-summary.html">
|
||||
<xsl:apply-templates select="." mode="package.summary"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- for each class, creates a @name.html -->
|
||||
<xsl:for-each select="class">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@name}.html">
|
||||
<xsl:apply-templates select="." mode="class.details"/>
|
||||
</redirect:write>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- list of classes in a package -->
|
||||
<xsl:template match="package" mode="classes.list">
|
||||
<html>
|
||||
<HEAD>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="@name"/>
|
||||
</xsl:call-template>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<H2><a href="package-summary.html" target="classFrame"><xsl:value-of select="@name"/></a></H2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<H2>Classes</H2>
|
||||
<TABLE WIDTH="100%">
|
||||
<xsl:for-each select="class">
|
||||
<xsl:sort select="@name"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</TABLE>
|
||||
</BODY>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- summary of a package -->
|
||||
<xsl:template match="package" mode="package.summary">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="@name"/>
|
||||
</xsl:call-template>
|
||||
</HEAD>
|
||||
<!-- when loading this package, it will open the classes into the frame -->
|
||||
<BODY onload="open('package-frame.html','classListFrame')">
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Package <xsl:value-of select="@name"/></h3>
|
||||
<table class="log" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:apply-templates select="." mode="stats.header"/>
|
||||
<xsl:apply-templates select="." mode="stats"/>
|
||||
</table>
|
||||
|
||||
<xsl:if test="count(class) > 0">
|
||||
<H3>Classes</H3>
|
||||
<table class="log" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:apply-templates select="." mode="stats.header"/>
|
||||
<xsl:apply-templates select="class" mode="stats">
|
||||
<xsl:sort data-type="number" select="cov.data/@hit_lines div cov.data/@total_lines"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="pageFooter"/>
|
||||
</BODY>
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
|
||||
<!-- details of a class -->
|
||||
<xsl:template match="class" mode="class.details">
|
||||
<xsl:variable name="package.name" select="(ancestor::package)[last()]/@name"/>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$package.name"/>
|
||||
</xsl:call-template>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<H3>Class <xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></H3>
|
||||
|
||||
<!-- class summary -->
|
||||
<table class="log" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:apply-templates select="." mode="stats.header"/>
|
||||
<xsl:apply-templates select="." mode="stats"/>
|
||||
</table>
|
||||
|
||||
<!-- details of methods -->
|
||||
<H3>Methods</H3>
|
||||
<table class="log" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:apply-templates select="method[1]" mode="stats.header"/>
|
||||
<xsl:apply-templates select="method" mode="stats">
|
||||
<xsl:sort data-type="number" select="cov.data/@hit_lines div cov.data/@total_lines"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
<xsl:call-template name="pageFooter"/>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page Header -->
|
||||
<xsl:template name="pageHeader">
|
||||
<!-- jakarta logo -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td class="bannercell" rowspan="2">
|
||||
<a href="http://jakarta.apache.org/">
|
||||
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:right"><h2>Source Code Coverage</h2></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">Designed for use with <a href='http://www.sitraka.com/jprobe'>Sitraka JProbe</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page Footer -->
|
||||
<xsl:template name="pageFooter">
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="table.header">
|
||||
<tr>
|
||||
<th width="80%">Name</th>
|
||||
<th width="10%" nowrap="nowrap">Methods Hit</th>
|
||||
<th width="10%" nowrap="nowrap">Lines Hit</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="method" mode="stats.header">
|
||||
<tr>
|
||||
<th width="90%">Name</th>
|
||||
<th width="10%" nowrap="nowrap">Lines Hit</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
<xsl:template match="method" mode="stats">
|
||||
<tr>
|
||||
<xsl:call-template name="alternate-row"/>
|
||||
<td><xsl:value-of select="@name"/></td>
|
||||
<td>
|
||||
<xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="package|class" mode="stats.header">
|
||||
<tr>
|
||||
<th width="80%">Name</th>
|
||||
<th width="10%" nowrap="nowrap">Methods Hit</th>
|
||||
<th width="10%" nowrap="nowrap">Lines Hit</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
<xsl:template match="package|class" mode="stats">
|
||||
<tr>
|
||||
<xsl:call-template name="alternate-row"/>
|
||||
<td><xsl:value-of select="@name"/></td>
|
||||
<td><xsl:value-of select="format-number(cov.data/@hit_methods div cov.data/@total_methods,'0.0%')"/></td>
|
||||
<td><xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
transform string like a.b.c to ../../../
|
||||
@param path the path to transform into a descending directory path
|
||||
-->
|
||||
<xsl:template name="path">
|
||||
<xsl:param name="path"/>
|
||||
<xsl:if test="contains($path,'.')">
|
||||
<xsl:text>../</xsl:text>
|
||||
<xsl:call-template name="path">
|
||||
<xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(contains($path,'.')) and not($path = '')">
|
||||
<xsl:text>../</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- create the link to the stylesheet based on the package name -->
|
||||
<xsl:template name="create.stylesheet.link">
|
||||
<xsl:param name="package.name"/>
|
||||
<LINK REL ="stylesheet" TYPE="text/css" TITLE="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></LINK>
|
||||
</xsl:template>
|
||||
|
||||
<!-- alternated row style -->
|
||||
<xsl:template name="alternate-row">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:if test="position() mod 2 = 1">a</xsl:if>
|
||||
<xsl:if test="position() mod 2 = 0">b</xsl:if>
|
||||
</xsl:attribute>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
@@ -0,0 +1,487 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="org.apache.xalan.lib.Redirect"
|
||||
extension-element-prefixes="redirect">
|
||||
<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
|
||||
-->
|
||||
<!--
|
||||
|
||||
Sample stylesheet to be used with JDepend XML output.
|
||||
|
||||
It creates a set of HTML files a la javadoc where you can browse easily
|
||||
through all packages and classes.
|
||||
|
||||
@author <a href="mailto:jtulley@novell.com">Jeff Tulley</a>
|
||||
|
||||
-->
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
|
||||
<xsl:template match="JDepend">
|
||||
<!-- create the index.html -->
|
||||
<redirect:write file="{$output.dir}/index.html">
|
||||
<xsl:call-template name="index.html"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the stylesheet.css -->
|
||||
<redirect:write file="{$output.dir}/stylesheet.css">
|
||||
<xsl:call-template name="stylesheet.css"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-summary.html">
|
||||
<xsl:apply-templates select="." mode="overview.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-packages.html">
|
||||
<xsl:apply-templates select="." mode="packages.details"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-cycles.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-cycles.html">
|
||||
<xsl:apply-templates select="." mode="cycles.details"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-cycles.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-explanations.html">
|
||||
<xsl:apply-templates select="." mode="explanations"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/all-packages.html">
|
||||
<xsl:apply-templates select="Packages" mode="all.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-cycles.html at the root -->
|
||||
<redirect:write file="{$output.dir}/all-cycles.html">
|
||||
<xsl:apply-templates select="Cycles" mode="all.cycles"/>
|
||||
</redirect:write>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="index.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>JDepend Analysis</title>
|
||||
</head>
|
||||
<frameset cols="20%,80%">
|
||||
<frameset rows="30%,70%">
|
||||
<frame src="all-packages.html" name="packageListFrame"/>
|
||||
<frame src="all-cycles.html" name="classListFrame"/>
|
||||
</frameset>
|
||||
<frame src="overview-summary.html" name="classFrame"/>
|
||||
</frameset>
|
||||
<noframes>
|
||||
<h2>Frame Alert</h2>
|
||||
<p>
|
||||
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
||||
</p>
|
||||
</noframes>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- this is the stylesheet css to use for nearly everything -->
|
||||
<xsl:template name="stylesheet.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
font:normal 68% verdana,arial,helvetica;
|
||||
color:#000000;
|
||||
}
|
||||
table tr td, tr th {
|
||||
font-size: 68%;
|
||||
}
|
||||
table.details tr th{
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
table.details tr td{
|
||||
background:#eeeee0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height:1.5em;
|
||||
margin-top:0.5em; margin-bottom:1.0em;
|
||||
margin-left:2em;
|
||||
margin-right:2em;
|
||||
}
|
||||
h1 {
|
||||
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h5 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h6 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
.Error {
|
||||
font-weight:bold; color:red;
|
||||
}
|
||||
.Failure {
|
||||
font-weight:bold; color:purple;
|
||||
}
|
||||
.Properties {
|
||||
text-align:right;
|
||||
}
|
||||
</style>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="JDepend" mode="overview.packages">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<table width="100%"><tr align="left"><h2>Summary</h2><td>
|
||||
</td><td align="right">
|
||||
[summary]
|
||||
[<a href="overview-packages.html">packages</a>]
|
||||
[<a href="overview-cycles.html">cycles</a>]
|
||||
[<a href="overview-explanations.html">explanations</a>]
|
||||
</td></tr></table>
|
||||
<table width="100%" class="details">
|
||||
<tr>
|
||||
<th>Package</th>
|
||||
<th>Total Classes</th>
|
||||
<th><a href="overview-explanations.html#EXnumber">Abstract Classes</a></th>
|
||||
<th><a href="overview-explanations.html#EXnumber">Concrete Classes</a></th>
|
||||
<th><a href="overview-explanations.html#EXafferent">Afferent Couplings</a></th>
|
||||
<th><a href="overview-explanations.html#EXefferent">Efferent Couplings</a></th>
|
||||
<th><a href="overview-explanations.html#EXabstractness">Abstractness</a></th>
|
||||
<th><a href="overview-explanations.html#EXinstability">Instability</a></th>
|
||||
<th><a href="overview-explanations.html#EXdistance">Distance</a></th>
|
||||
|
||||
</tr>
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:if test="count(error) = 0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<a>
|
||||
<xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
<td align="right"><xsl:value-of select="Stats/TotalClasses"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/AbstractClasses"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/ConcreteClasses"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/Ca"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/Ce"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/A"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/I"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/D"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:if test="count(error) > 0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<xsl:value-of select="@name"/>
|
||||
</td>
|
||||
<td align="left" colspan="8"><xsl:value-of select="error"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="JDepend" mode="packages.details">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<table width="100%"><tr align="left"><h2>Packages</h2><td>
|
||||
</td><td align="right">
|
||||
[<a href="overview-summary.html">summary</a>]
|
||||
[packages]
|
||||
[<a href="overview-cycles.html">cycles</a>]
|
||||
[<a href="overview-explanations.html">explanations</a>]
|
||||
</td></tr></table>
|
||||
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:if test="count(error) = 0">
|
||||
<h3><a><xsl:attribute name="name">PK<xsl:value-of select="@name"/></xsl:attribute>
|
||||
<xsl:value-of select="@name"/></a></h3>
|
||||
|
||||
<table width="100%"><tr>
|
||||
<td><a href="overview-explanations.html#EXafferent">Afferent Couplings</a>: <xsl:value-of select="Stats/Ca"/></td>
|
||||
<td><a href="overview-explanations.html#EXefferent">Efferent Couplings</a>: <xsl:value-of select="Stats/Ce"/></td>
|
||||
<td><a href="overview-explanations.html#EXabstractness">Abstractness</a>: <xsl:value-of select="Stats/A"/></td>
|
||||
<td><a href="overview-explanations.html#EXinstability">Instability</a>: <xsl:value-of select="Stats/I"/></td>
|
||||
<td><a href="overview-explanations.html#EXdistance">Distance</a>: <xsl:value-of select="Stats/D"/></td>
|
||||
</tr></table>
|
||||
|
||||
<table width="100%" class="details">
|
||||
<tr>
|
||||
<th>Abstract Classes</th>
|
||||
<th>Concrete Classes</th>
|
||||
<th>Used by Packages</th>
|
||||
<th>Uses Packages</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(AbstractClasses/Class)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="AbstractClasses/Class">
|
||||
<xsl:value-of select="node()"/><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(ConcreteClasses/Class)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="ConcreteClasses/Class">
|
||||
<xsl:value-of select="node()"/><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(UsedBy/Package)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="UsedBy/Package">
|
||||
<a>
|
||||
<xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="node()"/></xsl:attribute>
|
||||
<xsl:value-of select="node()"/>
|
||||
</a><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(DependsUpon/Package)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="DependsUpon/Package">
|
||||
<a>
|
||||
<xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="node()"/></xsl:attribute>
|
||||
<xsl:value-of select="node()"/>
|
||||
</a><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
<!-- this is often a long listing; provide a lower navigation table also -->
|
||||
<table width="100%"><tr align="left"><td></td><td align="right">
|
||||
[<a href="overview-summary.html">summary</a>]
|
||||
[packages]
|
||||
[<a href="overview-cycles.html">cycles</a>]
|
||||
[<a href="overview-explanations.html">explanations</a>]
|
||||
</td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="JDepend" mode="cycles.details">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<table width="100%"><tr align="left"><h2>Cycles</h2><td>
|
||||
</td><td align="right">
|
||||
[<a href="overview-summary.html">summary</a>]
|
||||
[<a href="overview-packages.html">packages</a>]
|
||||
[cycles]
|
||||
[<a href="overview-explanations.html">explanations</a>]
|
||||
</td></tr></table>
|
||||
<!--<table width="100%"><tr><td>
|
||||
</td><td align="right">
|
||||
[<a href="#NVsummary">summary</a>]
|
||||
[<a href="#NVpackages">packages</a>]
|
||||
[<a href="#NVcycles">cycles</a>]
|
||||
[<a href="#NVexplanations">explanations</a>]
|
||||
</td></tr></table> -->
|
||||
|
||||
<xsl:if test="count(Cycles/Package) = 0">
|
||||
<p>There are no cyclic dependancies.</p>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="Cycles/Package">
|
||||
<h3><a><xsl:attribute name="name">#CY<xsl:value-of select="@Name"/></xsl:attribute><xsl:value-of select="@Name"/></a></h3><p>
|
||||
<xsl:for-each select="Package">
|
||||
<xsl:value-of select="."/><br/>
|
||||
</xsl:for-each></p>
|
||||
</xsl:for-each>
|
||||
<!-- this is often a long listing; provide a lower navigation table also -->
|
||||
<table width="100%"><tr align="left"><td></td><td align="right">
|
||||
[<a href="overview-summary.html">summary</a>]
|
||||
[<a href="overview-packages.html">packages</a>]
|
||||
[cycles]
|
||||
[<a href="overview-explanations.html">explanations</a>]
|
||||
</td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="JDepend" mode="explanations">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
|
||||
<table width="100%"><tr align="left"><h2>Explanations</h2><td>
|
||||
</td><td align="right">
|
||||
[<a href="overview-summary.html">summary</a>]
|
||||
[<a href="overview-packages.html">packages</a>]
|
||||
[<a href="overview-cycles.html">cycles</a>]
|
||||
[explanations]
|
||||
</td></tr></table>
|
||||
|
||||
<p>The following explanations are for quick reference and are lifted directly from the original <a href="http://www.clarkware.com/software/JDepend.html">JDepend documentation</a>.</p>
|
||||
|
||||
<h3><a name="EXnumber">Number of Classes</a></h3>
|
||||
<p>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</p>
|
||||
<h3><a name="EXafferent">Afferent Couplings</a></h3>
|
||||
<p>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. </p>
|
||||
<h3><a name="EXefferent">Efferent Couplings</a></h3>
|
||||
<p>The number of other packages that the classes in the package depend upon is an indicator of the package's independence. </p>
|
||||
<h3><a name="EXabstractness">Abstractness</a></h3>
|
||||
<p>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. </p>
|
||||
<p>The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. </p>
|
||||
<h3><a name="EXinstability">Instability</a></h3>
|
||||
<p>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. </p>
|
||||
<p>The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. </p>
|
||||
<h3><a name="EXdistance">Distance</a></h3>
|
||||
<p>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. </p>
|
||||
<p>A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). </p>
|
||||
<p>The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. </p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an html file that contains a link to all package links in overview-packages.html.
|
||||
@bug there will be a problem here, I don't know yet how to handle unnamed package :(
|
||||
-->
|
||||
<xsl:template match="JDepend/Packages" mode="all.packages">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right">
|
||||
[<a href="overview-summary.html" target="classFrame">summary</a>]
|
||||
[<a href="overview-packages.html" target="classFrame">packages</a>]
|
||||
[<a href="overview-cycles.html" target="classFrame">cycles</a>]
|
||||
[<a href="overview-explanations.html" target="classFrame">explanations</a>]
|
||||
</td></tr></table>
|
||||
<h2>Packages</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="Package[count(error)=0]" mode="all.packages.link">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
<xsl:apply-templates select="Package[count(error) > 0]" mode="all.packages.nolink">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="JDepend/Packages/Package" mode="all.packages.link">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="overview-packages.html#PK{@name}" target="classFrame">
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
I do not know JDepend enough to know if every error results in a non-analyzed package,
|
||||
but that is how I am presenting it to the viewer. This may need to change.
|
||||
@bug there will be a problem here, I don't know yet how to handle unnamed package :(
|
||||
-->
|
||||
<xsl:template match="JDepend/Packages/Package" mode="all.packages.nolink">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
Not Analyzed: <xsl:value-of select="@name"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
Creates an html file that contains a link to all package links in overview-cycles.html.
|
||||
@bug there will be a problem here, I don't know yet how to handle unnamed package :(
|
||||
-->
|
||||
<xsl:template match="JDepend/Cycles" mode="all.cycles">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right">
|
||||
[<a href="overview-summary.html" target="classFrame">summary</a>]
|
||||
[<a href="overview-packages.html" target="classFrame">packages</a>]
|
||||
[<a href="overview-cycles.html" target="classFrame">cycles</a>]
|
||||
[<a href="overview-explanations.html" target="classFrame">explanations</a>]
|
||||
</td></tr></table>
|
||||
<h2>Cycles</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="Package" mode="all.cycles">
|
||||
<xsl:sort select="@Name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="JDepend/Cycles/Package" mode="all.cycles">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="overview-cycles.html#CY{@Name}" target="classFrame"><xsl:value-of select="@Name"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageHeader">
|
||||
<h1>JDepend Analysis</h1>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="right">Designed for use with <a href="http://www.clarkware.com/software/JDepend.html">JDepend</a> and <a href="http://jakarta.apache.org">Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
276
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/jdepend.xsl
Normal file
276
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/jdepend.xsl
Normal file
@@ -0,0 +1,276 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
|
||||
|
||||
<xsl:template match="JDepend">
|
||||
<html>
|
||||
<head>
|
||||
<title>JDepend Analysis</title>
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
font:normal 68% verdana,arial,helvetica;
|
||||
color:#000000;
|
||||
}
|
||||
table tr td, tr th {
|
||||
font-size: 68%;
|
||||
}
|
||||
table.details tr th{
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
table.details tr td{
|
||||
background:#eeeee0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height:1.5em;
|
||||
margin-top:0.5em; margin-bottom:1.0em;
|
||||
margin-left:2em;
|
||||
margin-right:2em;
|
||||
}
|
||||
h1 {
|
||||
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h5 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h6 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
.Error {
|
||||
font-weight:bold; color:red;
|
||||
}
|
||||
.Failure {
|
||||
font-weight:bold; color:purple;
|
||||
}
|
||||
.Properties {
|
||||
text-align:right;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!--h1>JDepend Report</h1>
|
||||
<ul>
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:sort select="@name"/>
|
||||
<li><xsl:value-of select="@name"/></li>
|
||||
</xsl:for-each>
|
||||
</ul-->
|
||||
|
||||
<h1><a name="top">JDepend Analysis</a></h1>
|
||||
<p align="right">Designed for use with <a href="http://www.clarkware.com/software/JDepend.html">JDepend</a> and <a href="http://jakarta.apache.org">Ant</a>.</p>
|
||||
<hr size="2" />
|
||||
|
||||
<table width="100%"><tr><td>
|
||||
<a name="NVsummary"><h2>Summary</h2></a>
|
||||
</td><td align="right">
|
||||
[<a href="#NVsummary">summary</a>]
|
||||
[<a href="#NVpackages">packages</a>]
|
||||
[<a href="#NVcycles">cycles</a>]
|
||||
[<a href="#NVexplanations">explanations</a>]
|
||||
</td></tr></table>
|
||||
|
||||
<table width="100%" class="details">
|
||||
<tr>
|
||||
<th>Package</th>
|
||||
<th>Total Classes</th>
|
||||
<th><a href="#EXnumber">Abstract Classes</a></th>
|
||||
<th><a href="#EXnumber">Concrete Classes</a></th>
|
||||
<th><a href="#EXafferent">Afferent Couplings</a></th>
|
||||
<th><a href="#EXefferent">Efferent Couplings</a></th>
|
||||
<th><a href="#EXabstractness">Abstractness</a></th>
|
||||
<th><a href="#EXinstability">Instability</a></th>
|
||||
<th><a href="#EXdistance">Distance</a></th>
|
||||
|
||||
</tr>
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:if test="count(error) = 0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<a>
|
||||
<xsl:attribute name="href">#PK<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
<td align="right"><xsl:value-of select="Stats/TotalClasses"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/AbstractClasses"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/ConcreteClasses"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/Ca"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/Ce"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/A"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/I"/></td>
|
||||
<td align="right"><xsl:value-of select="Stats/D"/></td>
|
||||
|
||||
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:if test="count(error) > 0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<xsl:value-of select="@name"/>
|
||||
</td>
|
||||
<td align="left" colspan="8"><xsl:value-of select="error"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
|
||||
<table width="100%"><tr><td>
|
||||
<a name="NVpackages"><h2>Packages</h2></a>
|
||||
</td><td align="right">
|
||||
[<a href="#NVsummary">summary</a>]
|
||||
[<a href="#NVpackages">packages</a>]
|
||||
[<a href="#NVcycles">cycles</a>]
|
||||
[<a href="#NVexplanations">explanations</a>]
|
||||
</td></tr></table>
|
||||
|
||||
<xsl:for-each select="./Packages/Package">
|
||||
<xsl:if test="count(error) = 0">
|
||||
<h3><a><xsl:attribute name="name">PK<xsl:value-of select="@name"/></xsl:attribute>
|
||||
<xsl:value-of select="@name"/></a></h3>
|
||||
|
||||
<table width="100%"><tr>
|
||||
<td><a href="#EXafferent">Afferent Couplings</a>: <xsl:value-of select="Stats/Ca"/></td>
|
||||
<td><a href="#EXefferent">Efferent Couplings</a>: <xsl:value-of select="Stats/Ce"/></td>
|
||||
<td><a href="#EXabstractness">Abstractness</a>: <xsl:value-of select="Stats/A"/></td>
|
||||
<td><a href="#EXinstability">Instability</a>: <xsl:value-of select="Stats/I"/></td>
|
||||
<td><a href="#EXdistance">Distance</a>: <xsl:value-of select="Stats/D"/></td>
|
||||
</tr></table>
|
||||
|
||||
<table width="100%" class="details">
|
||||
<tr>
|
||||
<th>Abstract Classes</th>
|
||||
<th>Concrete Classes</th>
|
||||
<th>Used by Packages</th>
|
||||
<th>Uses Packages</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(AbstractClasses/Class)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="AbstractClasses/Class">
|
||||
<xsl:value-of select="node()"/><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(ConcreteClasses/Class)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="ConcreteClasses/Class">
|
||||
<xsl:value-of select="node()"/><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(UsedBy/Package)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="UsedBy/Package">
|
||||
<a>
|
||||
<xsl:attribute name="href">#PK<xsl:value-of select="node()"/></xsl:attribute>
|
||||
<xsl:value-of select="node()"/>
|
||||
</a><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
<td valign="top" width="25%">
|
||||
<xsl:if test="count(DependsUpon/Package)=0">
|
||||
<i>None</i>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="DependsUpon/Package">
|
||||
<a>
|
||||
<xsl:attribute name="href">#PK<xsl:value-of select="node()"/></xsl:attribute>
|
||||
<xsl:value-of select="node()"/>
|
||||
</a><br/>
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
<table width="100%"><tr><td>
|
||||
<a name="NVcycles"><h2>Cycles</h2></a>
|
||||
</td><td align="right">
|
||||
[<a href="#NVsummary">summary</a>]
|
||||
[<a href="#NVpackages">packages</a>]
|
||||
[<a href="#NVcycles">cycles</a>]
|
||||
[<a href="#NVexplanations">explanations</a>]
|
||||
</td></tr></table>
|
||||
|
||||
<xsl:if test="count(Cycles/Package) = 0">
|
||||
<p>There are no cyclic dependancies.</p>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="Cycles/Package">
|
||||
<h3><xsl:value-of select="@Name"/></h3><p>
|
||||
<xsl:for-each select="Package">
|
||||
<xsl:value-of select="."/><br/>
|
||||
</xsl:for-each></p>
|
||||
</xsl:for-each>
|
||||
|
||||
<table width="100%"><tr><td>
|
||||
<a name="NVexplanations"><h2>Explanations</h2></a>
|
||||
</td><td align="right">
|
||||
[<a href="#NVsummary">summary</a>]
|
||||
[<a href="#NVpackages">packages</a>]
|
||||
[<a href="#NVcycles">cycles</a>]
|
||||
[<a href="#NVexplanations">explanations</a>]
|
||||
</td></tr></table>
|
||||
|
||||
<p>The following explanations are for quick reference and are lifted directly from the original <a href="http://www.clarkware.com/software/JDepend.html">JDepend documentation</a>.</p>
|
||||
|
||||
<h3><a name="EXnumber">Number of Classes</a></h3>
|
||||
<p>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</p>
|
||||
<h3><a name="EXafferent">Afferent Couplings</a></h3>
|
||||
<p>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. </p>
|
||||
<h3><a name="EXefferent">Efferent Couplings</a></h3>
|
||||
<p>The number of other packages that the classes in the package depend upon is an indicator of the package's independence. </p>
|
||||
<h3><a name="EXabstractness">Abstractness</a></h3>
|
||||
<p>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. </p>
|
||||
<p>The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. </p>
|
||||
<h3><a name="EXinstability">Instability</a></h3>
|
||||
<p>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. </p>
|
||||
<p>The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. </p>
|
||||
<h3><a name="EXdistance">Distance</a></h3>
|
||||
<p>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. </p>
|
||||
<p>A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). </p>
|
||||
<p>The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. </p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,745 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="org.apache.xalan.lib.Redirect"
|
||||
xmlns:string="xalan://java.lang.String"
|
||||
extension-element-prefixes="redirect">
|
||||
<xsl:output method="html" indent="yes" encoding="UTF-8"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator=","/>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
|
||||
Sample stylesheet to be used with Ant JUnitReport output.
|
||||
|
||||
It creates a set of HTML files a la javadoc where you can browse easily
|
||||
through all packages and classes.
|
||||
|
||||
-->
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
|
||||
|
||||
<xsl:template match="testsuites">
|
||||
<!-- create the index.html -->
|
||||
<redirect:write file="{$output.dir}/index.html">
|
||||
<xsl:call-template name="index.html"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the stylesheet.css -->
|
||||
<redirect:write file="{$output.dir}/stylesheet.css">
|
||||
<xsl:call-template name="stylesheet.css"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-summary.html">
|
||||
<xsl:apply-templates select="." mode="overview.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-classes.html at the root -->
|
||||
<redirect:write file="{$output.dir}/allclasses-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.classes"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- process all packages -->
|
||||
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:call-template name="package">
|
||||
<xsl:with-param name="name" select="@package"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="package">
|
||||
<xsl:param name="name"/>
|
||||
<xsl:variable name="package.dir">
|
||||
<xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if>
|
||||
<xsl:if test="$name = ''">.</xsl:if>
|
||||
</xsl:variable>
|
||||
<!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> -->
|
||||
<!-- create a classes-list.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-frame.html">
|
||||
<xsl:call-template name="classes.list">
|
||||
<xsl:with-param name="name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create a package-summary.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-summary.html">
|
||||
<xsl:call-template name="package.summary">
|
||||
<xsl:with-param name="name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</redirect:write>
|
||||
|
||||
<!-- for each class, creates a @name.html -->
|
||||
<!-- @bug there will be a problem with inner classes having the same name, it will be overwritten -->
|
||||
<xsl:for-each select="/testsuites/testsuite[@package = $name]">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@name}.html">
|
||||
<xsl:apply-templates select="." mode="class.details"/>
|
||||
</redirect:write>
|
||||
<xsl:if test="string-length(./system-out)!=0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@name}-out.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>Standard Output from <xsl:value-of select="@name"/></title>
|
||||
</head>
|
||||
<body>
|
||||
<pre><xsl:value-of select="./system-out"/></pre>
|
||||
</body>
|
||||
</html>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
<xsl:if test="string-length(./system-err)!=0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@name}-err.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>Standard Error from <xsl:value-of select="@name"/></title>
|
||||
</head>
|
||||
<body>
|
||||
<pre><xsl:value-of select="./system-err"/></pre>
|
||||
</body>
|
||||
</html>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="index.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Results.</title>
|
||||
</head>
|
||||
<frameset cols="20%,80%">
|
||||
<frameset rows="30%,70%">
|
||||
<frame src="overview-frame.html" name="packageListFrame"/>
|
||||
<frame src="allclasses-frame.html" name="classListFrame"/>
|
||||
</frameset>
|
||||
<frame src="overview-summary.html" name="classFrame"/>
|
||||
<noframes>
|
||||
<h2>Frame Alert</h2>
|
||||
<p>
|
||||
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
||||
</p>
|
||||
</noframes>
|
||||
</frameset>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- this is the stylesheet css to use for nearly everything -->
|
||||
<xsl:template name="stylesheet.css">
|
||||
body {
|
||||
font:normal 68% verdana,arial,helvetica;
|
||||
color:#000000;
|
||||
}
|
||||
table tr td, table tr th {
|
||||
font-size: 68%;
|
||||
}
|
||||
table.details tr th{
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
table.details tr td{
|
||||
background:#eeeee0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height:1.5em;
|
||||
margin-top:0.5em; margin-bottom:1.0em;
|
||||
}
|
||||
h1 {
|
||||
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h5 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h6 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
.Error {
|
||||
font-weight:bold; color:red;
|
||||
}
|
||||
.Failure {
|
||||
font-weight:bold; color:purple;
|
||||
}
|
||||
.Properties {
|
||||
text-align:right;
|
||||
}
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ======================================================================
|
||||
This page is created for every testsuite class.
|
||||
It prints a summary of the testsuite and detailed information about
|
||||
testcase methods.
|
||||
====================================================================== -->
|
||||
<xsl:template match="testsuite" mode="class.details">
|
||||
<xsl:variable name="package.name" select="@package"/>
|
||||
<xsl:variable name="class.name"><xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></xsl:variable>
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Results: <xsl:value-of select="$class.name"/></title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$package.name"/>
|
||||
</xsl:call-template>
|
||||
<script type="text/javascript" language="JavaScript">
|
||||
var TestCases = new Array();
|
||||
var cur;
|
||||
<xsl:apply-templates select="properties"/>
|
||||
</script>
|
||||
<script type="text/javascript" language="JavaScript"><![CDATA[
|
||||
function displayProperties (name) {
|
||||
var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
|
||||
var doc = win.document;
|
||||
doc.open();
|
||||
doc.write("<html><head><title>Properties of " + name + "</title>");
|
||||
doc.write("<style type=\"text/css\">");
|
||||
doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
|
||||
doc.write("table tr td, table tr th { font-size: 68%; }");
|
||||
doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
|
||||
doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
|
||||
doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
|
||||
doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
|
||||
doc.write("</style>");
|
||||
doc.write("</head><body>");
|
||||
doc.write("<h3>Properties of " + name + "</h3>");
|
||||
doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
|
||||
doc.write("<table class='properties'>");
|
||||
doc.write("<tr><th>Name</th><th>Value</th></tr>");
|
||||
for (prop in TestCases[name]) {
|
||||
doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
|
||||
}
|
||||
doc.write("</table>");
|
||||
doc.write("</body></html>");
|
||||
doc.close();
|
||||
win.focus();
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Class <xsl:value-of select="$class.name"/></h3>
|
||||
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<xsl:apply-templates select="." mode="print.test"/>
|
||||
</table>
|
||||
|
||||
<h2>Tests</h2>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testcase.test.header"/>
|
||||
<!--
|
||||
test can even not be started at all (failure to load the class)
|
||||
so report the error directly
|
||||
-->
|
||||
<xsl:if test="./error">
|
||||
<tr class="Error">
|
||||
<td colspan="4"><xsl:apply-templates select="./error"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:apply-templates select="./testcase" mode="print.test"/>
|
||||
</table>
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute>
|
||||
Properties »
|
||||
</a>
|
||||
</div>
|
||||
<xsl:if test="string-length(./system-out)!=0">
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">./<xsl:value-of select="@name"/>-out.html</xsl:attribute>
|
||||
System.out »
|
||||
</a>
|
||||
</div>
|
||||
</xsl:if>
|
||||
<xsl:if test="string-length(./system-err)!=0">
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">./<xsl:value-of select="@name"/>-err.html</xsl:attribute>
|
||||
System.err »
|
||||
</a>
|
||||
</div>
|
||||
</xsl:if>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
Write properties into a JavaScript data structure.
|
||||
This is based on the original idea by Erik Hatcher (ehatcher@apache.org)
|
||||
-->
|
||||
<xsl:template match="properties">
|
||||
cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array();
|
||||
<xsl:for-each select="property">
|
||||
<xsl:sort select="@name"/>
|
||||
cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>';
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ======================================================================
|
||||
This page is created for every package.
|
||||
It prints the name of all classes that belongs to this package.
|
||||
@param name the package name to print classes.
|
||||
====================================================================== -->
|
||||
<!-- list of classes in a package -->
|
||||
<xsl:template name="classes.list">
|
||||
<xsl:param name="name"/>
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Classes: <xsl:value-of select="$name"/></title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<h2><a href="package-summary.html" target="classFrame">
|
||||
<xsl:value-of select="$name"/>
|
||||
<xsl:if test="$name = ''"><none></xsl:if>
|
||||
</a></h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Classes</h2>
|
||||
<table width="100%">
|
||||
<xsl:for-each select="/testsuites/testsuite[./@package = $name]">
|
||||
<xsl:sort select="@name"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an all-classes.html file that contains a link to all package-summary.html
|
||||
on each class.
|
||||
-->
|
||||
<xsl:template match="testsuites" mode="all.classes">
|
||||
<html>
|
||||
<head>
|
||||
<title>All Unit Test Classes</title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Classes</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="testsuite" mode="all.classes">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testsuite" mode="all.classes">
|
||||
<xsl:variable name="package.name" select="@package"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a target="classFrame">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:if test="not($package.name='')">
|
||||
<xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text>
|
||||
</xsl:if><xsl:value-of select="@name"/><xsl:text>.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an html file that contains a link to all package-summary.html files on
|
||||
each package existing on testsuites.
|
||||
@bug there will be a problem here, I don't know yet how to handle unnamed package :(
|
||||
-->
|
||||
<xsl:template match="testsuites" mode="all.packages">
|
||||
<html>
|
||||
<head>
|
||||
<title>All Unit Test Packages</title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<h2><a href="overview-summary.html" target="classFrame">Home</a></h2>
|
||||
<h2>Packages</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]" mode="all.packages">
|
||||
<xsl:sort select="@package"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testsuite" mode="all.packages">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="./{translate(@package,'.','/')}/package-summary.html" target="classFrame">
|
||||
<xsl:value-of select="@package"/>
|
||||
<xsl:if test="@package = ''"><none></xsl:if>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="testsuites" mode="overview.packages">
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Results: Summary</title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h2>Summary</h2>
|
||||
<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
|
||||
<xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
|
||||
<xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
|
||||
<xsl:variable name="skippedCount" select="sum(testsuite/@skipped)"/>
|
||||
<xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
|
||||
<xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<tr valign="top">
|
||||
<th>Tests</th>
|
||||
<th>Failures</th>
|
||||
<th>Errors</th>
|
||||
<th>Skipped</th>
|
||||
<th>Success rate</th>
|
||||
<th>Time</th>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$errorCount > 0">Error</xsl:when>
|
||||
<xsl:when test="$failureCount > 0">Failure</xsl:when>
|
||||
<xsl:otherwise>Pass</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><xsl:value-of select="$testCount"/></td>
|
||||
<td><xsl:value-of select="$failureCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
<td><xsl:value-of select="$skipCount" /></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-percent">
|
||||
<xsl:with-param name="value" select="$successRate"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="$timeCount"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="95%">
|
||||
<tr>
|
||||
<td style="text-align: justify;">
|
||||
Note: <em>failures</em> are anticipated and checked for with assertions while <em>errors</em> are unanticipated.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Packages</h2>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<xsl:for-each select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:sort select="@package" order="ascending"/>
|
||||
<!-- get the node set containing all testsuites that have the same package -->
|
||||
<xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = current()/@package]"/>
|
||||
<tr valign="top">
|
||||
<!-- display a failure if there is any failure/error in the package -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="sum($insamepackage/@errors) > 0">Error</xsl:when>
|
||||
<xsl:when test="sum($insamepackage/@failures) > 0">Failure</xsl:when>
|
||||
<xsl:otherwise>Pass</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a href="./{translate(@package,'.','/')}/package-summary.html">
|
||||
<xsl:value-of select="@package"/>
|
||||
<xsl:if test="@package = ''"><none></xsl:if>
|
||||
</a></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@tests)"/></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@errors)"/></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@failures)"/></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@skipped)" /></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="sum($insamepackage/@time)"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td><xsl:value-of select="$insamepackage/@timestamp"/></td>
|
||||
<td><xsl:value-of select="$insamepackage/@hostname"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="package.summary">
|
||||
<xsl:param name="name"/>
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Package <xsl:value-of select="$name"/></h3>
|
||||
|
||||
<!--table border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="class.metrics.header"/>
|
||||
<xsl:apply-templates select="." mode="print.metrics"/>
|
||||
</table-->
|
||||
|
||||
<xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = $name]"/>
|
||||
<xsl:if test="count($insamepackage) > 0">
|
||||
<h2>Classes</h2>
|
||||
<p>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<xsl:apply-templates select="$insamepackage" mode="print.test">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</p>
|
||||
</xsl:if>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
transform string like a.b.c to ../../../
|
||||
@param path the path to transform into a descending directory path
|
||||
-->
|
||||
<xsl:template name="path">
|
||||
<xsl:param name="path"/>
|
||||
<xsl:if test="contains($path,'.')">
|
||||
<xsl:text>../</xsl:text>
|
||||
<xsl:call-template name="path">
|
||||
<xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(contains($path,'.')) and not($path = '')">
|
||||
<xsl:text>../</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- create the link to the stylesheet based on the package name -->
|
||||
<xsl:template name="create.stylesheet.link">
|
||||
<xsl:param name="package.name"/>
|
||||
<link rel="stylesheet" type="text/css" title="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></link>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageHeader">
|
||||
<h1>Unit Test Results</h1>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://ant.apache.org/">Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- class header -->
|
||||
<xsl:template name="testsuite.test.header">
|
||||
<tr valign="top">
|
||||
<th width="80%">Name</th>
|
||||
<th>Tests</th>
|
||||
<th>Errors</th>
|
||||
<th>Failures</th>
|
||||
<th>Skipped</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
<th nowrap="nowrap">Time Stamp</th>
|
||||
<th>Host</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- method header -->
|
||||
<xsl:template name="testcase.test.header">
|
||||
<tr valign="top">
|
||||
<th>Name</th>
|
||||
<th>Status</th>
|
||||
<th width="80%">Type</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- class information -->
|
||||
<xsl:template match="testsuite" mode="print.test">
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@errors[.> 0]">Error</xsl:when>
|
||||
<xsl:when test="@failures[.> 0]">Failure</xsl:when>
|
||||
<xsl:otherwise>Pass</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a href="{@name}.html"><xsl:value-of select="@name"/></a></td>
|
||||
<td><xsl:apply-templates select="@tests"/></td>
|
||||
<td><xsl:apply-templates select="@errors"/></td>
|
||||
<td><xsl:apply-templates select="@failures"/></td>
|
||||
<td><xsl:apply-templates select="@skipped" /></td>
|
||||
<td><xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td><xsl:apply-templates select="@timestamp"/></td>
|
||||
<td><xsl:apply-templates select="@hostname"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testcase" mode="print.test">
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="error">Error</xsl:when>
|
||||
<xsl:when test="failure">Failure</xsl:when>
|
||||
<xsl:otherwise>TableRowColor</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><xsl:value-of select="@name"/></td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="failure">
|
||||
<td>Failure</td>
|
||||
<td><xsl:apply-templates select="failure"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="error">
|
||||
<td>Error</td>
|
||||
<td><xsl:apply-templates select="error"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="skipped">
|
||||
<td>Skipped</td>
|
||||
<td><xsl:apply-templates select="skipped"/></td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td>Success</td>
|
||||
<td></td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- Note : the below template error and failure are the same style
|
||||
so just call the same style store in the toolkit template -->
|
||||
<xsl:template match="failure">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="error">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Style for the error and failure in the testcase template -->
|
||||
<xsl:template name="display-failures">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@message)">N/A</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@message"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- display the stacktrace -->
|
||||
<br/><br/>
|
||||
<code>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="."/>
|
||||
</xsl:call-template>
|
||||
</code>
|
||||
<!-- the latter is better but might be problematic for non-21" monitors... -->
|
||||
<!--pre><xsl:value-of select="."/></pre-->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="JS-escape">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:param name="tmp1" select="string:replaceAll(string:new(string($string)),'\\','\\\\')"/>
|
||||
<xsl:param name="tmp2" select="string:replaceAll(string:new(string($tmp1)),"'","\\'")"/>
|
||||
<xsl:param name="tmp3" select="string:replaceAll(string:new(string($tmp2))," ",'\\n')"/>
|
||||
<xsl:param name="tmp4" select="string:replaceAll(string:new(string($tmp3))," ",'\\r')"/>
|
||||
<xsl:value-of select="$tmp4"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
template that will convert a carriage return into a br tag
|
||||
@param word the text from which to convert CR to BR tag
|
||||
-->
|
||||
<xsl:template name="br-replace">
|
||||
<xsl:param name="word"/>
|
||||
<xsl:param name="br"><br/></xsl:param>
|
||||
<xsl:value-of select='stringutils:replace(string($word),"
",$br)'/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-time">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.000')"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-percent">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.00%')"/>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
955
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/junit-frames.xsl
Normal file
955
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/junit-frames.xsl
Normal file
@@ -0,0 +1,955 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="http://xml.apache.org/xalan/redirect"
|
||||
xmlns:string="xalan://java.lang.String"
|
||||
extension-element-prefixes="redirect">
|
||||
<xsl:output method="html" indent="yes" encoding="UTF-8"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator=","/>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
|
||||
Sample stylesheet to be used with Ant JUnitReport output.
|
||||
|
||||
It creates a set of HTML files a la javadoc where you can browse easily
|
||||
through all packages and classes.
|
||||
|
||||
-->
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
<xsl:param name="TITLE">Unit Test Results.</xsl:param>
|
||||
|
||||
|
||||
<xsl:template match="testsuites">
|
||||
<!-- create the index.html -->
|
||||
<redirect:write file="{$output.dir}/index.html">
|
||||
<xsl:call-template name="index.html"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the stylesheet.css -->
|
||||
<redirect:write file="{$output.dir}/stylesheet.css">
|
||||
<xsl:call-template name="stylesheet.css"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-summary.html">
|
||||
<xsl:apply-templates select="." mode="overview.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-classes.html at the root -->
|
||||
<redirect:write file="{$output.dir}/allclasses-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.classes"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-tests.html at the root -->
|
||||
<redirect:write file="{$output.dir}/all-tests.html">
|
||||
<xsl:apply-templates select="." mode="all.tests"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the alltests-fails.html at the root -->
|
||||
<redirect:write file="{$output.dir}/alltests-fails.html">
|
||||
<xsl:apply-templates select="." mode="all.tests">
|
||||
<xsl:with-param name="type" select="'fails'"/>
|
||||
</xsl:apply-templates>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the alltests-errors.html at the root -->
|
||||
<redirect:write file="{$output.dir}/alltests-errors.html">
|
||||
<xsl:apply-templates select="." mode="all.tests">
|
||||
<xsl:with-param name="type" select="'errors'"/>
|
||||
</xsl:apply-templates>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the alltests-skipped.html at the root -->
|
||||
<redirect:write file="{$output.dir}/alltests-skipped.html">
|
||||
<xsl:apply-templates select="." mode="all.tests">
|
||||
<xsl:with-param name="type" select="'skipped'"/>
|
||||
</xsl:apply-templates>
|
||||
</redirect:write>
|
||||
|
||||
<!-- process all packages -->
|
||||
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:call-template name="package">
|
||||
<xsl:with-param name="name" select="@package"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="package">
|
||||
<xsl:param name="name"/>
|
||||
<xsl:variable name="package.dir">
|
||||
<xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if>
|
||||
<xsl:if test="$name = ''">.</xsl:if>
|
||||
</xsl:variable>
|
||||
<!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> -->
|
||||
<!-- create a classes-list.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-frame.html">
|
||||
<xsl:call-template name="classes.list">
|
||||
<xsl:with-param name="name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create a package-summary.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-summary.html">
|
||||
<xsl:call-template name="package.summary">
|
||||
<xsl:with-param name="name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</redirect:write>
|
||||
|
||||
<!-- for each class, creates a @name.html -->
|
||||
<!-- @bug there will be a problem with inner classes having the same name, it will be overwritten -->
|
||||
<xsl:for-each select="/testsuites/testsuite[@package = $name]">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}.html">
|
||||
<xsl:apply-templates select="." mode="class.details"/>
|
||||
</redirect:write>
|
||||
<xsl:if test="string-length(./system-out)!=0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-out.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>Standard Output from <xsl:value-of select="@name"/></title>
|
||||
</head>
|
||||
<body>
|
||||
<pre><xsl:value-of select="./system-out"/></pre>
|
||||
</body>
|
||||
</html>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
<xsl:if test="string-length(./system-err)!=0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-err.html">
|
||||
<html>
|
||||
<head>
|
||||
<title>Standard Error from <xsl:value-of select="@name"/></title>
|
||||
</head>
|
||||
<body>
|
||||
<pre><xsl:value-of select="./system-err"/></pre>
|
||||
</body>
|
||||
</html>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
<xsl:if test="@failures != 0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-fails.html">
|
||||
<xsl:apply-templates select="." mode="class.details">
|
||||
<xsl:with-param name="type" select="'fails'"/>
|
||||
</xsl:apply-templates>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
<xsl:if test="@errors != 0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-errors.html">
|
||||
<xsl:apply-templates select="." mode="class.details">
|
||||
<xsl:with-param name="type" select="'errors'"/>
|
||||
</xsl:apply-templates>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
<xsl:if test="@skipped != 0">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-skipped.html">
|
||||
<xsl:apply-templates select="." mode="class.details">
|
||||
<xsl:with-param name="type" select="'skipped'"/>
|
||||
</xsl:apply-templates>
|
||||
</redirect:write>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="index.html">
|
||||
<html>
|
||||
<head>
|
||||
<title><xsl:value-of select="$TITLE"/></title>
|
||||
</head>
|
||||
<frameset cols="20%,80%">
|
||||
<frameset rows="30%,70%">
|
||||
<frame src="overview-frame.html" name="packageListFrame"/>
|
||||
<frame src="allclasses-frame.html" name="classListFrame"/>
|
||||
</frameset>
|
||||
<frame src="overview-summary.html" name="classFrame"/>
|
||||
<noframes>
|
||||
<h2>Frame Alert</h2>
|
||||
<p>
|
||||
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
||||
</p>
|
||||
</noframes>
|
||||
</frameset>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!-- this is the stylesheet css to use for nearly everything -->
|
||||
<xsl:template name="stylesheet.css">
|
||||
body {
|
||||
font:normal 68% verdana,arial,helvetica;
|
||||
color:#000000;
|
||||
}
|
||||
table tr td, table tr th {
|
||||
font-size: 68%;
|
||||
}
|
||||
table.details tr th{
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
table.details tr td{
|
||||
background:#eeeee0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height:1.5em;
|
||||
margin-top:0.5em; margin-bottom:1.0em;
|
||||
}
|
||||
h1 {
|
||||
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h5 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h6 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
.Error {
|
||||
font-weight:bold; color:red;
|
||||
}
|
||||
.Failure {
|
||||
font-weight:bold; color:purple;
|
||||
}
|
||||
.Properties {
|
||||
text-align:right;
|
||||
}
|
||||
</xsl:template>
|
||||
|
||||
<!-- Create list of all/failed/errored/skipped tests -->
|
||||
<xsl:template match="testsuites" mode="all.tests">
|
||||
<xsl:param name="type" select="'all'"/>
|
||||
<html>
|
||||
<xsl:variable name="title">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$type = 'fails'">
|
||||
<xsl:text>All Failures</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'errors'">
|
||||
<xsl:text>All Errors</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'skipped'">
|
||||
<xsl:text>All Skipped</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>All Tests</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<head>
|
||||
<title>Unit Test Results: <xsl:value-of select="$title"/></title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h2><xsl:value-of select="$title"/></h2>
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testcase.test.header">
|
||||
<xsl:with-param name="show.class" select="'yes'"/>
|
||||
</xsl:call-template>
|
||||
<!--
|
||||
test can even not be started at all (failure to load the class)
|
||||
so report the error directly
|
||||
-->
|
||||
<xsl:if test="./error">
|
||||
<tr class="Error">
|
||||
<td colspan="4">
|
||||
<xsl:apply-templates select="./error"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$type = 'fails'">
|
||||
<xsl:apply-templates select=".//testcase[failure]" mode="print.test">
|
||||
<xsl:with-param name="show.class" select="'yes'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'errors'">
|
||||
<xsl:apply-templates select=".//testcase[error]" mode="print.test">
|
||||
<xsl:with-param name="show.class" select="'yes'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'skipped'">
|
||||
<xsl:apply-templates select=".//testcase[skipped]" mode="print.test">
|
||||
<xsl:with-param name="show.class" select="'yes'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select=".//testcase" mode="print.test">
|
||||
<xsl:with-param name="show.class" select="'yes'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ======================================================================
|
||||
This page is created for every testsuite class.
|
||||
It prints a summary of the testsuite and detailed information about
|
||||
testcase methods.
|
||||
====================================================================== -->
|
||||
<xsl:template match="testsuite" mode="class.details">
|
||||
<xsl:param name="type" select="'all'"/>
|
||||
<xsl:variable name="package.name" select="@package"/>
|
||||
<xsl:variable name="class.name"><xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></xsl:variable>
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Results: <xsl:value-of select="$class.name"/></title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$package.name"/>
|
||||
</xsl:call-template>
|
||||
<script type="text/javascript" language="JavaScript">
|
||||
var TestCases = new Array();
|
||||
var cur;
|
||||
<xsl:apply-templates select="properties"/>
|
||||
</script>
|
||||
<script type="text/javascript" language="JavaScript"><![CDATA[
|
||||
function displayProperties (name) {
|
||||
var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
|
||||
var doc = win.document;
|
||||
doc.open();
|
||||
doc.write("<html><head><title>Properties of " + name + "</title>");
|
||||
doc.write("<style type=\"text/css\">");
|
||||
doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
|
||||
doc.write("table tr td, table tr th { font-size: 68%; }");
|
||||
doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
|
||||
doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
|
||||
doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
|
||||
doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
|
||||
doc.write("</style>");
|
||||
doc.write("</head><body>");
|
||||
doc.write("<h3>Properties of " + name + "</h3>");
|
||||
doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
|
||||
doc.write("<table class='properties'>");
|
||||
doc.write("<tr><th>Name</th><th>Value</th></tr>");
|
||||
for (prop in TestCases[name]) {
|
||||
doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
|
||||
}
|
||||
doc.write("</table>");
|
||||
doc.write("</body></html>");
|
||||
doc.close();
|
||||
win.focus();
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Class <xsl:value-of select="$class.name"/></h3>
|
||||
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<xsl:apply-templates select="." mode="print.test"/>
|
||||
</table>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$type = 'fails'">
|
||||
<h2>Failures</h2>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'errors'">
|
||||
<h2>Errors</h2>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'skipped'">
|
||||
<h2>Skipped</h2>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<h2>Tests</h2>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testcase.test.header"/>
|
||||
<!--
|
||||
test can even not be started at all (failure to load the class)
|
||||
so report the error directly
|
||||
-->
|
||||
<xsl:if test="./error">
|
||||
<tr class="Error">
|
||||
<td colspan="4"><xsl:apply-templates select="./error"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$type = 'fails'">
|
||||
<xsl:apply-templates select="./testcase[failure]" mode="print.test"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'errors'">
|
||||
<xsl:apply-templates select="./testcase[error]" mode="print.test"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'skipped'">
|
||||
<xsl:apply-templates select="./testcase[skipped]" mode="print.test"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="./testcase" mode="print.test"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</table>
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute>
|
||||
Properties »
|
||||
</a>
|
||||
</div>
|
||||
<xsl:if test="string-length(./system-out)!=0">
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-out.html</xsl:attribute>
|
||||
System.out »
|
||||
</a>
|
||||
</div>
|
||||
</xsl:if>
|
||||
<xsl:if test="string-length(./system-err)!=0">
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-err.html</xsl:attribute>
|
||||
System.err »
|
||||
</a>
|
||||
</div>
|
||||
</xsl:if>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
Write properties into a JavaScript data structure.
|
||||
This is based on the original idea by Erik Hatcher (ehatcher@apache.org)
|
||||
-->
|
||||
<xsl:template match="properties">
|
||||
cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array();
|
||||
<xsl:for-each select="property">
|
||||
<xsl:sort select="@name"/>
|
||||
cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>';
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ======================================================================
|
||||
This page is created for every package.
|
||||
It prints the name of all classes that belongs to this package.
|
||||
@param name the package name to print classes.
|
||||
====================================================================== -->
|
||||
<!-- list of classes in a package -->
|
||||
<xsl:template name="classes.list">
|
||||
<xsl:param name="name"/>
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Classes: <xsl:value-of select="$name"/></title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<h2><a href="package-summary.html" target="classFrame">
|
||||
<xsl:value-of select="$name"/>
|
||||
<xsl:if test="$name = ''"><none></xsl:if>
|
||||
</a></h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Classes</h2>
|
||||
<table width="100%">
|
||||
<xsl:for-each select="/testsuites/testsuite[./@package = $name]">
|
||||
<xsl:sort select="@name"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="{@id}_{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an all-classes.html file that contains a link to all package-summary.html
|
||||
on each class.
|
||||
-->
|
||||
<xsl:template match="testsuites" mode="all.classes">
|
||||
<html>
|
||||
<head>
|
||||
<title>All Unit Test Classes</title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Classes</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="testsuite" mode="all.classes">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testsuite" mode="all.classes">
|
||||
<xsl:variable name="package.name" select="@package"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a target="classFrame">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:if test="not($package.name='')">
|
||||
<xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text>
|
||||
</xsl:if><xsl:value-of select="@id"/>_<xsl:value-of select="@name"/><xsl:text>.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an html file that contains a link to all package-summary.html files on
|
||||
each package existing on testsuites.
|
||||
@bug there will be a problem here, I don't know yet how to handle unnamed package :(
|
||||
-->
|
||||
<xsl:template match="testsuites" mode="all.packages">
|
||||
<html>
|
||||
<head>
|
||||
<title>All Unit Test Packages</title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<h2><a href="overview-summary.html" target="classFrame">Home</a></h2>
|
||||
<h2>Packages</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]" mode="all.packages">
|
||||
<xsl:sort select="@package"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testsuite" mode="all.packages">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="./{translate(@package,'.','/')}/package-summary.html" target="classFrame">
|
||||
<xsl:value-of select="@package"/>
|
||||
<xsl:if test="@package = ''"><none></xsl:if>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="testsuites" mode="overview.packages">
|
||||
<html>
|
||||
<head>
|
||||
<title>Unit Test Results: Summary</title>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h2>Summary</h2>
|
||||
<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
|
||||
<xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
|
||||
<xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
|
||||
<xsl:variable name="skippedCount" select="sum(testsuite/@skipped)" />
|
||||
<xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
|
||||
<xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<tr valign="top">
|
||||
<th>Tests</th>
|
||||
<th>Failures</th>
|
||||
<th>Errors</th>
|
||||
<th>Skipped</th>
|
||||
<th>Success rate</th>
|
||||
<th>Time</th>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$errorCount > 0">Error</xsl:when>
|
||||
<xsl:when test="$failureCount > 0">Failure</xsl:when>
|
||||
<xsl:otherwise>Pass</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a title="Display all tests" href="all-tests.html"><xsl:value-of select="$testCount"/></a></td>
|
||||
<td><a title="Display all failures" href="alltests-fails.html"><xsl:value-of select="$failureCount"/></a></td>
|
||||
<td><a title="Display all errors" href="alltests-errors.html"><xsl:value-of select="$errorCount"/></a></td>
|
||||
<td><a title="Display all skipped test" href="alltests-skipped.html"><xsl:value-of select="$skippedCount" /></a></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-percent">
|
||||
<xsl:with-param name="value" select="$successRate"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="$timeCount"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="95%">
|
||||
<tr>
|
||||
<td style="text-align: justify;">
|
||||
Note: <em>failures</em> are anticipated and checked for with assertions while <em>errors</em> are unanticipated.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Packages</h2>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<xsl:for-each select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:sort select="@package" order="ascending"/>
|
||||
<!-- get the node set containing all testsuites that have the same package -->
|
||||
<xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = current()/@package]"/>
|
||||
<tr valign="top">
|
||||
<!-- display a failure if there is any failure/error in the package -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="sum($insamepackage/@errors) > 0">Error</xsl:when>
|
||||
<xsl:when test="sum($insamepackage/@failures) > 0">Failure</xsl:when>
|
||||
<xsl:otherwise>Pass</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a href="./{translate(@package,'.','/')}/package-summary.html">
|
||||
<xsl:value-of select="@package"/>
|
||||
<xsl:if test="@package = ''"><none></xsl:if>
|
||||
</a></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@tests)"/></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@errors)"/></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@failures)"/></td>
|
||||
<td><xsl:value-of select="sum($insamepackage/@skipped)" /></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="sum($insamepackage/@time)"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td><xsl:value-of select="$insamepackage/@timestamp"/></td>
|
||||
<td><xsl:value-of select="$insamepackage/@hostname"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="package.summary">
|
||||
<xsl:param name="name"/>
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Package <xsl:value-of select="$name"/></h3>
|
||||
|
||||
<!--table border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="class.metrics.header"/>
|
||||
<xsl:apply-templates select="." mode="print.metrics"/>
|
||||
</table-->
|
||||
|
||||
<xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = $name]"/>
|
||||
<xsl:if test="count($insamepackage) > 0">
|
||||
<h2>Classes</h2>
|
||||
<p>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<xsl:apply-templates select="$insamepackage" mode="print.test">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</p>
|
||||
</xsl:if>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
transform string like a.b.c to ../../../
|
||||
@param path the path to transform into a descending directory path
|
||||
-->
|
||||
<xsl:template name="path">
|
||||
<xsl:param name="path"/>
|
||||
<xsl:if test="contains($path,'.')">
|
||||
<xsl:text>../</xsl:text>
|
||||
<xsl:call-template name="path">
|
||||
<xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(contains($path,'.')) and not($path = '')">
|
||||
<xsl:text>../</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- create the link to the stylesheet based on the package name -->
|
||||
<xsl:template name="create.stylesheet.link">
|
||||
<xsl:param name="package.name"/>
|
||||
<link rel="stylesheet" type="text/css" title="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></link>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageHeader">
|
||||
<h1><xsl:value-of select="$TITLE"/></h1>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://ant.apache.org/">Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- class header -->
|
||||
<xsl:template name="testsuite.test.header">
|
||||
<tr valign="top">
|
||||
<th width="80%">Name</th>
|
||||
<th>Tests</th>
|
||||
<th>Errors</th>
|
||||
<th>Failures</th>
|
||||
<th>Skipped</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
<th nowrap="nowrap">Time Stamp</th>
|
||||
<th>Host</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- method header -->
|
||||
<xsl:template name="testcase.test.header">
|
||||
<xsl:param name="show.class" select="''"/>
|
||||
<tr valign="top">
|
||||
<xsl:if test="boolean($show.class)">
|
||||
<th>Class</th>
|
||||
</xsl:if>
|
||||
<th>Name</th>
|
||||
<th>Status</th>
|
||||
<th width="80%">Type</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- class information -->
|
||||
<xsl:template match="testsuite" mode="print.test">
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@errors[.> 0]">Error</xsl:when>
|
||||
<xsl:when test="@failures[.> 0]">Failure</xsl:when>
|
||||
<xsl:otherwise>Pass</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a title="Display all tests" href="{@id}_{@name}.html"><xsl:value-of select="@name"/></a></td>
|
||||
<td><a title="Display all tests" href="{@id}_{@name}.html"><xsl:apply-templates select="@tests"/></a></td>
|
||||
<td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@errors != 0">
|
||||
<a title="Display only errors" href="{@id}_{@name}-errors.html"><xsl:apply-templates select="@errors"/></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="@errors"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@failures != 0">
|
||||
<a title="Display only failures" href="{@id}_{@name}-fails.html"><xsl:apply-templates select="@failures"/></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="@failures"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@skipped != 0">
|
||||
<a title="Display only skipped tests" href="{@id}_{@name}-skipped.html"><xsl:apply-templates select="@skipped"/></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="@skipped"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td><xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td><xsl:apply-templates select="@timestamp"/></td>
|
||||
<td><xsl:apply-templates select="@hostname"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testcase" mode="print.test">
|
||||
<xsl:param name="show.class" select="''"/>
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="error">Error</xsl:when>
|
||||
<xsl:when test="failure">Failure</xsl:when>
|
||||
<xsl:otherwise>TableRowColor</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<xsl:variable name="class.href">
|
||||
<xsl:value-of select="concat(translate(../@package,'.','/'), '/', ../@id, '_', ../@name, '.html')"/>
|
||||
</xsl:variable>
|
||||
<xsl:if test="boolean($show.class)">
|
||||
<td><a href="{$class.href}"><xsl:value-of select="../@name"/></a></td>
|
||||
</xsl:if>
|
||||
<td>
|
||||
<a name="{@name}"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="boolean($show.class)">
|
||||
<a href="{concat($class.href, '#', @name)}"><xsl:value-of select="@name"/></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="failure">
|
||||
<td>Failure</td>
|
||||
<td><xsl:apply-templates select="failure"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="error">
|
||||
<td>Error</td>
|
||||
<td><xsl:apply-templates select="error"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="skipped">
|
||||
<td>Skipped</td>
|
||||
<td><xsl:apply-templates select="skipped"/></td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td>Success</td>
|
||||
<td></td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- Note : the below template skipped, error and failure are the same style
|
||||
so just call the same style store in the toolkit template -->
|
||||
<xsl:template match="failure">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="error">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="skipped">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Style for the error and failure in the testcase template -->
|
||||
<xsl:template name="display-failures">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@message)">N/A</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@message"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- display the stacktrace -->
|
||||
<br/><br/>
|
||||
<code>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="."/>
|
||||
</xsl:call-template>
|
||||
</code>
|
||||
<!-- the latter is better but might be problematic for non-21" monitors... -->
|
||||
<!--pre><xsl:value-of select="."/></pre-->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="JS-escape">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:param name="tmp1" select="string:replaceAll(string:new(string($string)),'\\','\\\\')"/>
|
||||
<xsl:param name="tmp2" select="string:replaceAll(string:new(string($tmp1)),"'","\\'")"/>
|
||||
<xsl:param name="tmp3" select="string:replaceAll(string:new(string($tmp2))," ",'\\n')"/>
|
||||
<xsl:param name="tmp4" select="string:replaceAll(string:new(string($tmp3))," ",'\\r')"/>
|
||||
<xsl:value-of select="$tmp4"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
template that will convert a carriage return into a br tag
|
||||
@param word the text from which to convert CR to BR tag
|
||||
-->
|
||||
<xsl:template name="br-replace">
|
||||
<xsl:param name="word"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($word, '
')">
|
||||
<xsl:value-of select="substring-before($word, '
')"/>
|
||||
<br/>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="substring-after($word, '
')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$word"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-time">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.000')"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-percent">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.00%')"/>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,496 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:string="xalan://java.lang.String">
|
||||
<xsl:output method="html" indent="yes" encoding="UTF-8"
|
||||
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" />
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
|
||||
<xsl:param name="TITLE">Unit Test Results.</xsl:param>
|
||||
|
||||
<!--
|
||||
|
||||
Sample stylesheet to be used with Ant JUnitReport output.
|
||||
|
||||
It creates a non-framed report that can be useful to send via
|
||||
e-mail or such.
|
||||
|
||||
-->
|
||||
<xsl:template match="testsuites">
|
||||
<html>
|
||||
<head>
|
||||
<title><xsl:value-of select="$TITLE"/></title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font:normal 68% verdana,arial,helvetica;
|
||||
color:#000000;
|
||||
}
|
||||
table tr td, table tr th {
|
||||
font-size: 68%;
|
||||
}
|
||||
table.details tr th{
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
table.details tr td{
|
||||
background:#eeeee0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height:1.5em;
|
||||
margin-top:0.5em; margin-bottom:1.0em;
|
||||
}
|
||||
h1 {
|
||||
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h5 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h6 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
.Error {
|
||||
font-weight:bold; color:red;
|
||||
}
|
||||
.Failure {
|
||||
font-weight:bold; color:purple;
|
||||
}
|
||||
.Properties {
|
||||
text-align:right;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" language="JavaScript">
|
||||
var TestCases = new Array();
|
||||
var cur;
|
||||
<xsl:for-each select="./testsuite">
|
||||
<xsl:apply-templates select="properties"/>
|
||||
</xsl:for-each>
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" language="JavaScript"><![CDATA[
|
||||
function displayProperties (name) {
|
||||
var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
|
||||
var doc = win.document;
|
||||
doc.open();
|
||||
doc.write("<html><head><title>Properties of " + name + "</title>");
|
||||
doc.write("<style>")
|
||||
doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
|
||||
doc.write("table tr td, table tr th { font-size: 68%; }");
|
||||
doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
|
||||
doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
|
||||
doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
|
||||
doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
|
||||
doc.write("</style>");
|
||||
doc.write("</head><body>");
|
||||
doc.write("<h3>Properties of " + name + "</h3>");
|
||||
doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
|
||||
doc.write("<table class='properties'>");
|
||||
doc.write("<tr><th>Name</th><th>Value</th></tr>");
|
||||
for (prop in TestCases[name]) {
|
||||
doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
|
||||
}
|
||||
doc.write("</table>");
|
||||
doc.write("</body></html>");
|
||||
doc.close();
|
||||
win.focus();
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a name="top"></a>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
|
||||
<!-- Summary part -->
|
||||
<xsl:call-template name="summary"/>
|
||||
<hr size="1" width="95%" align="left"/>
|
||||
|
||||
<!-- Package List part -->
|
||||
<xsl:call-template name="packagelist"/>
|
||||
<hr size="1" width="95%" align="left"/>
|
||||
|
||||
<!-- For each package create its part -->
|
||||
<xsl:call-template name="packages"/>
|
||||
<hr size="1" width="95%" align="left"/>
|
||||
|
||||
<!-- For each class create the part -->
|
||||
<xsl:call-template name="classes"/>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Write a list of all packages with an hyperlink to the anchor of -->
|
||||
<!-- of the package name. -->
|
||||
<!-- ================================================================== -->
|
||||
<xsl:template name="packagelist">
|
||||
<h2>Packages</h2>
|
||||
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<!-- list all packages recursively -->
|
||||
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:sort select="@package"/>
|
||||
<xsl:variable name="testsuites-in-package" select="/testsuites/testsuite[./@package = current()/@package]"/>
|
||||
<xsl:variable name="testCount" select="sum($testsuites-in-package/@tests)"/>
|
||||
<xsl:variable name="errorCount" select="sum($testsuites-in-package/@errors)"/>
|
||||
<xsl:variable name="failureCount" select="sum($testsuites-in-package/@failures)"/>
|
||||
<xsl:variable name="skippedCount" select="sum($testsuites-in-package/@skipped)" />
|
||||
<xsl:variable name="timeCount" select="sum($testsuites-in-package/@time)"/>
|
||||
|
||||
<!-- write a summary for the package -->
|
||||
<tr valign="top">
|
||||
<!-- set a nice color depending if there is an error/failure -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$failureCount > 0">Failure</xsl:when>
|
||||
<xsl:when test="$errorCount > 0">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a href="#{@package}"><xsl:value-of select="@package"/></a></td>
|
||||
<td><xsl:value-of select="$testCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
<td><xsl:value-of select="$failureCount"/></td>
|
||||
<td><xsl:value-of select="$skippedCount" /></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="$timeCount"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td><xsl:value-of select="$testsuites-in-package/@timestamp"/></td>
|
||||
<td><xsl:value-of select="$testsuites-in-package/@hostname"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Write a package level report -->
|
||||
<!-- It creates a table with values from the document: -->
|
||||
<!-- Name | Tests | Errors | Failures | Time -->
|
||||
<!-- ================================================================== -->
|
||||
<xsl:template name="packages">
|
||||
<!-- create an anchor to this package name -->
|
||||
<xsl:for-each select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:sort select="@package"/>
|
||||
<a name="{@package}"></a>
|
||||
<h3>Package <xsl:value-of select="@package"/></h3>
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
|
||||
<!-- match the testsuites of this package -->
|
||||
<xsl:apply-templates select="/testsuites/testsuite[./@package = current()/@package]" mode="print.test"/>
|
||||
</table>
|
||||
<a href="#top">Back to top</a>
|
||||
<p/>
|
||||
<p/>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="classes">
|
||||
<xsl:for-each select="testsuite">
|
||||
<xsl:sort select="@name"/>
|
||||
<!-- create an anchor to this class name -->
|
||||
<a name="{@name}"></a>
|
||||
<h3>TestCase <xsl:value-of select="@name"/></h3>
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testcase.test.header"/>
|
||||
<!--
|
||||
test can even not be started at all (failure to load the class)
|
||||
so report the error directly
|
||||
-->
|
||||
<xsl:if test="./error">
|
||||
<tr class="Error">
|
||||
<td colspan="4"><xsl:apply-templates select="./error"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:apply-templates select="./testcase" mode="print.test"/>
|
||||
</table>
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute>
|
||||
Properties »
|
||||
</a>
|
||||
</div>
|
||||
<p/>
|
||||
|
||||
<a href="#top">Back to top</a>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="summary">
|
||||
<h2>Summary</h2>
|
||||
<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
|
||||
<xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
|
||||
<xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
|
||||
<xsl:variable name="skippedCount" select="sum(testsuite/@skipped)" />
|
||||
<xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
|
||||
<xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<tr valign="top">
|
||||
<th>Tests</th>
|
||||
<th>Failures</th>
|
||||
<th>Errors</th>
|
||||
<th>Skipped</th>
|
||||
<th>Success rate</th>
|
||||
<th>Time</th>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$failureCount > 0">Failure</xsl:when>
|
||||
<xsl:when test="$errorCount > 0">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><xsl:value-of select="$testCount"/></td>
|
||||
<td><xsl:value-of select="$failureCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
<td><xsl:value-of select="$skippedCount" /></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-percent">
|
||||
<xsl:with-param name="value" select="$successRate"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="$timeCount"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="95%">
|
||||
<tr>
|
||||
<td style="text-align: justify;">
|
||||
Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
Write properties into a JavaScript data structure.
|
||||
This is based on the original idea by Erik Hatcher (ehatcher@apache.org)
|
||||
-->
|
||||
<xsl:template match="properties">
|
||||
cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array();
|
||||
<xsl:for-each select="property">
|
||||
<xsl:sort select="@name"/>
|
||||
cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>';
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageHeader">
|
||||
<h1><xsl:value-of select="$TITLE"/></h1>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="right">Designed for use with <a href='http://www.junit.org'>JUnit</a> and <a href='http://ant.apache.org/ant'>Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testsuite" mode="header">
|
||||
<tr valign="top">
|
||||
<th width="80%">Name</th>
|
||||
<th>Tests</th>
|
||||
<th>Errors</th>
|
||||
<th>Failures</th>
|
||||
<th>Skipped</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- class header -->
|
||||
<xsl:template name="testsuite.test.header">
|
||||
<tr valign="top">
|
||||
<th width="80%">Name</th>
|
||||
<th>Tests</th>
|
||||
<th>Errors</th>
|
||||
<th>Failures</th>
|
||||
<th>Skipped</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
<th nowrap="nowrap">Time Stamp</th>
|
||||
<th>Host</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- method header -->
|
||||
<xsl:template name="testcase.test.header">
|
||||
<tr valign="top">
|
||||
<th>Name</th>
|
||||
<th>Status</th>
|
||||
<th width="80%">Type</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- class information -->
|
||||
<xsl:template match="testsuite" mode="print.test">
|
||||
<tr valign="top">
|
||||
<!-- set a nice color depending if there is an error/failure -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@failures[.> 0]">Failure</xsl:when>
|
||||
<xsl:when test="@errors[.> 0]">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
|
||||
<!-- print testsuite information -->
|
||||
<td><a href="#{@name}"><xsl:value-of select="@name"/></a></td>
|
||||
<td><xsl:value-of select="@tests"/></td>
|
||||
<td><xsl:value-of select="@errors"/></td>
|
||||
<td><xsl:value-of select="@failures"/></td>
|
||||
<td><xsl:value-of select="@skipped" /></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td><xsl:apply-templates select="@timestamp"/></td>
|
||||
<td><xsl:apply-templates select="@hostname"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testcase" mode="print.test">
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="failure | error">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><xsl:value-of select="@name"/></td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="failure">
|
||||
<td>Failure</td>
|
||||
<td><xsl:apply-templates select="failure"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="error">
|
||||
<td>Error</td>
|
||||
<td><xsl:apply-templates select="error"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="skipped">
|
||||
<td>Skipped</td>
|
||||
<td><xsl:apply-templates select="skipped"/></td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td>Success</td>
|
||||
<td></td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="failure">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="error">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="skipped">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Style for the error, failure and skipped in the testcase template -->
|
||||
<xsl:template name="display-failures">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@message)">N/A</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@message"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- display the stacktrace -->
|
||||
<code>
|
||||
<br/><br/>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="."/>
|
||||
</xsl:call-template>
|
||||
</code>
|
||||
<!-- the later is better but might be problematic for non-21" monitors... -->
|
||||
<!--pre><xsl:value-of select="."/></pre-->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="JS-escape">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:param name="tmp1" select="string:replaceAll(string:new(string($string)),'\\','\\\\')"/>
|
||||
<xsl:param name="tmp2" select="string:replaceAll(string:new(string($tmp1)),"'","\\'")"/>
|
||||
<xsl:param name="tmp3" select="string:replaceAll(string:new(string($tmp2))," ",'\\n')"/>
|
||||
<xsl:param name="tmp4" select="string:replaceAll(string:new(string($tmp3))," ",'\\r')"/>
|
||||
<xsl:value-of select="$tmp4"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
template that will convert a carriage return into a br tag
|
||||
@param word the text from which to convert CR to BR tag
|
||||
-->
|
||||
<xsl:template name="br-replace">
|
||||
<xsl:param name="word"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($word, '
')">
|
||||
<xsl:value-of select="substring-before($word, '
')"/>
|
||||
<br/>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="substring-after($word, '
')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$word"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-time">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.000')"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-percent">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.00%')"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
203
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/log.xsl
Normal file
203
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/log.xsl
Normal file
@@ -0,0 +1,203 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
|
||||
-->
|
||||
|
||||
<!--
|
||||
|
||||
The purpose have this XSL is to provide a nice way to look at the output
|
||||
from the Ant XmlLogger (ie: ant -listener org.apache.tools.ant.XmlLogger )
|
||||
|
||||
@author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
|
||||
|
||||
-->
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
.bannercell {
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font:normal 100% arial,helvetica,sanserif;
|
||||
background-color:#FFFFFF;
|
||||
color:#000000;
|
||||
}
|
||||
table.status {
|
||||
font:bold 80% arial,helvetica,sanserif;
|
||||
background-color:#525D76;
|
||||
color:#ffffff;
|
||||
}
|
||||
table.log tr td, tr th {
|
||||
font-size: 80%;
|
||||
}
|
||||
.error {
|
||||
color:red;
|
||||
}
|
||||
.warn {
|
||||
color:brown;
|
||||
}
|
||||
.info {
|
||||
color:gray;
|
||||
}
|
||||
.debug{
|
||||
color:gray;
|
||||
}
|
||||
.failed {
|
||||
font-size:80%;
|
||||
background-color: red;
|
||||
color:#FFFFFF;
|
||||
font-weight: bold
|
||||
}
|
||||
.complete {
|
||||
font-size:80%;
|
||||
background-color: #525D76;
|
||||
color:#FFFFFF;
|
||||
font-weight: bold
|
||||
}
|
||||
.a td {
|
||||
background: #efefef;
|
||||
}
|
||||
.b td {
|
||||
background: #fff;
|
||||
}
|
||||
th, td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
th {
|
||||
background: #ccc;
|
||||
color: black;
|
||||
}
|
||||
table, th, td {
|
||||
border: none
|
||||
}
|
||||
h3 {
|
||||
font:bold 80% arial,helvetica,sanserif;
|
||||
background: #525D76;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
padding: 5px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- jakarta logo -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td valign="top" class="bannercell">
|
||||
<a href="http://jakarta.apache.org/">
|
||||
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:right;vertical-align:bottom">
|
||||
<a href="http://ant.apache.org/">Apache Ant</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table border="0" width="100%">
|
||||
<tr><td><hr noshade="yes" size="1"/></td></tr>
|
||||
</table>
|
||||
|
||||
<xsl:apply-templates select="build"/>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="build">
|
||||
<!-- build status -->
|
||||
<table width="100%">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:if test="@error">failed</xsl:if>
|
||||
<xsl:if test="not(@error)">complete</xsl:if>
|
||||
</xsl:attribute>
|
||||
<tr>
|
||||
<xsl:if test="@error">
|
||||
<td nowrap="yes">Build Failed</td>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@error)">
|
||||
<td nowrap="yes">Build Complete</td>
|
||||
</xsl:if>
|
||||
<td style="text-align:right" nowrap="yes">Total Time: <xsl:value-of select="@time"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<xsl:if test="@error">
|
||||
<tt><xsl:value-of select="@error"/></tt><br/>
|
||||
<i style="font-size:80%">See the <a href="#stacktrace" alt="Click for details">stacktrace</a>.</i>
|
||||
</xsl:if>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="1" cellspacing="2" cellpadding="3" width="100%" style="font-size:80%">
|
||||
<tr class="a"><td width="1">ant.file</td><td><xsl:value-of select="substring-after(//message[contains(text(),'ant.file')], '->')"/></td></tr>
|
||||
<tr class="b"><td width="1">ant.version</td><td><xsl:value-of select="substring-after(//message[contains(text(),'ant.version')], '->')"/></td></tr>
|
||||
<tr class="a"><td width="1">java.version</td><td><xsl:value-of select="substring-after(//message[contains(text(),'java.vm.version')], '->')"/></td></tr>
|
||||
<tr class="b"><td width="1">os.name</td><td><xsl:value-of select="substring-after(//message[contains(text(),'os.name')], '->')"/></td></tr>
|
||||
</table>
|
||||
<!-- build information -->
|
||||
<h3>Build events</h3>
|
||||
<table class="log" border="1" cellspacing="2" cellpadding="3" width="100%">
|
||||
<tr>
|
||||
<th nowrap="yes" align="left" width="1%">target</th>
|
||||
<th nowrap="yes" align="left" width="1%">task</th>
|
||||
<th nowrap="yes" align="left">message</th>
|
||||
</tr>
|
||||
<xsl:apply-templates select=".//message[@priority != 'debug']"/>
|
||||
</table>
|
||||
<p>
|
||||
<!-- stacktrace -->
|
||||
<xsl:if test="stacktrace">
|
||||
<a name="stacktrace"/>
|
||||
<h3>Error details</h3>
|
||||
<table width="100%">
|
||||
<tr><td>
|
||||
<pre><xsl:value-of select="stacktrace"/></pre>
|
||||
</td></tr>
|
||||
</table>
|
||||
</xsl:if>
|
||||
</p>
|
||||
</xsl:template>
|
||||
|
||||
<!-- report every message but those with debug priority -->
|
||||
<xsl:template match="message[@priority!='debug']">
|
||||
<tr valign="top">
|
||||
<!-- alternated row style -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:if test="position() mod 2 = 1">a</xsl:if>
|
||||
<xsl:if test="position() mod 2 = 0">b</xsl:if>
|
||||
</xsl:attribute>
|
||||
<td nowrap="yes" width="1%"><xsl:value-of select="../../@name"/></td>
|
||||
<td nowrap="yes" style="text-align:right" width="1%">[ <xsl:value-of select="../@name"/> ]</td>
|
||||
<td class="{@priority}" nowrap="yes">
|
||||
<xsl:value-of select="text()"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
503
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/maudit-frames.xsl
Normal file
503
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/maudit-frames.xsl
Normal file
@@ -0,0 +1,503 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||
xmlns:redirect="org.apache.xalan.lib.Redirect"
|
||||
extension-element-prefixes="redirect">
|
||||
<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
|
||||
Stylesheet to transform an XML file generated by the Ant MAudit task into
|
||||
a set of JavaDoc-like HTML page to make pages more convenient to be browsed.
|
||||
|
||||
It use the Xalan redirect extension to write to multiple output files.
|
||||
|
||||
@author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/>
|
||||
-->
|
||||
|
||||
<xsl:param name="output.dir" select="'.'"/>
|
||||
|
||||
|
||||
<xsl:template match="classes">
|
||||
<!-- create the index.html -->
|
||||
<redirect:write file="{$output.dir}/index.html">
|
||||
<xsl:call-template name="index.html"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the stylesheet.css -->
|
||||
<redirect:write file="{$output.dir}/stylesheet.css">
|
||||
<xsl:call-template name="stylesheet.css"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the overview-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-summary.html">
|
||||
<xsl:apply-templates select="." mode="overview.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-packages.html at the root -->
|
||||
<redirect:write file="{$output.dir}/overview-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.packages"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create the all-classes.html at the root -->
|
||||
<redirect:write file="{$output.dir}/allclasses-frame.html">
|
||||
<xsl:apply-templates select="." mode="all.classes"/>
|
||||
</redirect:write>
|
||||
|
||||
<!-- process all packages -->
|
||||
<xsl:for-each select="./class[not(./@package = preceding-sibling::class/@package)]">
|
||||
<xsl:call-template name="package">
|
||||
<xsl:with-param name="name" select="@package"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="package">
|
||||
<xsl:param name="name"/>
|
||||
<xsl:variable name="package.dir">
|
||||
<xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if>
|
||||
<xsl:if test="$name = ''">.</xsl:if>
|
||||
</xsl:variable>
|
||||
<!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> -->
|
||||
<!-- create a classes-list.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-frame.html">
|
||||
<xsl:call-template name="classes.list">
|
||||
<xsl:with-param name="name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</redirect:write>
|
||||
|
||||
<!-- create a package-summary.html in the package directory -->
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/package-summary.html">
|
||||
<xsl:call-template name="package.summary">
|
||||
<xsl:with-param name="name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</redirect:write>
|
||||
|
||||
<!-- for each class, creates a @name.html -->
|
||||
<!-- @bug there will be a problem with inner classes having the same name, it will be overwritten -->
|
||||
<xsl:for-each select="/classes/class[@package = $name]">
|
||||
<redirect:write file="{$output.dir}/{$package.dir}/{@name}.html">
|
||||
<xsl:apply-templates select="." mode="class.details"/>
|
||||
</redirect:write>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="index.html">
|
||||
<HTML>
|
||||
<HEAD><TITLE>Audit Results.</TITLE></HEAD>
|
||||
<FRAMESET cols="20%,80%">
|
||||
<FRAMESET rows="30%,70%">
|
||||
<FRAME src="overview-frame.html" name="packageListFrame"/>
|
||||
<FRAME src="allclasses-frame.html" name="classListFrame"/>
|
||||
</FRAMESET>
|
||||
<FRAME src="overview-summary.html" name="classFrame"/>
|
||||
</FRAMESET>
|
||||
<noframes>
|
||||
<H2>Frame Alert</H2>
|
||||
<P>
|
||||
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
||||
</P>
|
||||
</noframes>
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- this is the stylesheet css to use for nearly everything -->
|
||||
<xsl:template name="stylesheet.css">
|
||||
.bannercell {
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
body {
|
||||
margin-left: 10;
|
||||
margin-right: 10;
|
||||
font:normal 80% arial,helvetica,sanserif;
|
||||
background-color:#FFFFFF;
|
||||
color:#000000;
|
||||
}
|
||||
.a td {
|
||||
background: #efefef;
|
||||
}
|
||||
.b td {
|
||||
background: #fff;
|
||||
}
|
||||
th, td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
th {
|
||||
font-weight:bold;
|
||||
background: #ccc;
|
||||
color: black;
|
||||
}
|
||||
table, th, td {
|
||||
font-size:100%;
|
||||
border: none
|
||||
}
|
||||
table.log tr td, tr th {
|
||||
|
||||
}
|
||||
h2 {
|
||||
font-weight:bold;
|
||||
font-size:140%;
|
||||
margin-bottom: 5;
|
||||
}
|
||||
h3 {
|
||||
font-size:100%;
|
||||
font-weight:bold;
|
||||
background: #525D76;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
padding: 5px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- print the violations of the class -->
|
||||
<xsl:template match="class" mode="class.details">
|
||||
<xsl:variable name="package.name" select="@package"/>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$package.name"/>
|
||||
</xsl:call-template>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<H3>Class <xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></H3>
|
||||
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:call-template name="class.audit.header"/>
|
||||
<xsl:apply-templates select="." mode="print.audit"/>
|
||||
</table>
|
||||
|
||||
<H3>Violations</H3>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:call-template name="violation.audit.header"/>
|
||||
<xsl:apply-templates select="./violation" mode="print.audit">
|
||||
<xsl:sort data-type="number" select="@line"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
<xsl:call-template name="pageFooter"/>
|
||||
</BODY>
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- list of classes in a package -->
|
||||
<xsl:template name="classes.list">
|
||||
<xsl:param name="name"/>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<H2><a href="package-summary.html" target="classFrame"><xsl:value-of select="$name"/></a></H2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Classes</h2>
|
||||
<TABLE WIDTH="100%">
|
||||
<xsl:apply-templates select="/classes/class[./@package = $name]" mode="classes.list">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</TABLE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
<!-- the class to list -->
|
||||
<xsl:template match="class" mode="classes.list">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<!-- @bug naming to fix for inner classes -->
|
||||
<a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an all-classes.html file that contains a link to all package-summary.html
|
||||
on each class.
|
||||
-->
|
||||
<xsl:template match="classes" mode="all.classes">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Classes</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select=".//class" mode="all.classes">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="class" mode="all.classes">
|
||||
<!-- (ancestor::package)[last()] is buggy in MSXML3 ? -->
|
||||
<xsl:variable name="package.name" select="@package"/>
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a target="classFrame">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:if test="not($package.name='')">
|
||||
<xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text>
|
||||
</xsl:if><xsl:value-of select="@name"/><xsl:text>.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="@name"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
Creates an html file that contains a link to all package-summary.html files on
|
||||
each package existing on testsuites.
|
||||
@bug there will be a problem here, I don't know yet how to handle unnamed package :(
|
||||
-->
|
||||
<xsl:template match="classes" mode="all.packages">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body>
|
||||
<h2><a href="overview-summary.html" target="classFrame">Home</a></h2>
|
||||
<h2>Packages</h2>
|
||||
<table width="100%">
|
||||
<xsl:apply-templates select="class[not(./@package = preceding-sibling::class/@package)]" mode="all.packages">
|
||||
<xsl:sort select="@package" order="ascending"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="class" mode="all.packages">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
<a href="{translate(@package,'.','/')}/package-summary.html" target="classFrame">
|
||||
<xsl:value-of select="@package"/>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="classes" mode="overview.packages">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body onload="open('allclasses-frame.html','classListFrame')">
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Summary</h3>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<tr>
|
||||
<th>Audited classes</th>
|
||||
<th>Reported classes</th>
|
||||
<th>Violations</th>
|
||||
</tr>
|
||||
<tr class="a">
|
||||
<td><xsl:value-of select="@audited"/></td>
|
||||
<td><xsl:value-of select="@reported"/></td>
|
||||
<td><xsl:value-of select="@violations"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: justify;">
|
||||
Note: Rules checked have originated from style guidelines suggested by the language designers,
|
||||
experience from the Java development community and insite experience. Violations are generally
|
||||
reported with a reference to the <a href="http://java.sun.com/docs/books/jls/second_edition/html/jTOC.doc.html">Java Language Specifications</a> (JLS x.x.x)
|
||||
and Metamata Audit rules (x.x).
|
||||
Please consult these documents for additional information about violations.
|
||||
<p/>
|
||||
Rules checked also enforce adherence to <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Sun Java coding guidelines</a> in use at Jakarta.
|
||||
<p/>
|
||||
One should note that these violations do not necessary underline errors but should be used
|
||||
as an indication for <i>possible</i> errors. As always, use your best judgment and review
|
||||
them carefully, it might save you hours of debugging.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Packages</h3>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:call-template name="class.audit.header"/>
|
||||
<xsl:for-each select="class[not(./@package = preceding-sibling::class/@package)]">
|
||||
<xsl:sort select="@package" order="ascending"/>
|
||||
<tr>
|
||||
<xsl:call-template name="alternate-row"/>
|
||||
<td><a href="{translate(@package,'.','/')}/package-summary.html"><xsl:value-of select="@package"/></a></td>
|
||||
<td><xsl:value-of select="sum(/classes/class[./@package = current()/@package]/@violations)"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
<xsl:call-template name="pageFooter"/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="package.summary">
|
||||
<xsl:param name="name"/>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<xsl:call-template name="create.stylesheet.link">
|
||||
<xsl:with-param name="package.name" select="$name"/>
|
||||
</xsl:call-template>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
<h3>Package <xsl:value-of select="$name"/></h3>
|
||||
|
||||
<!--table border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:call-template name="class.metrics.header"/>
|
||||
<xsl:apply-templates select="." mode="print.metrics"/>
|
||||
</table-->
|
||||
|
||||
<xsl:if test="count(/classes/class[./@package = $name]) > 0">
|
||||
<H3>Classes</H3>
|
||||
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<xsl:call-template name="class.audit.header"/>
|
||||
<xsl:apply-templates select="/classes/class[./@package = $name]" mode="print.audit">
|
||||
<xsl:sort select="@name"/>
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="pageFooter"/>
|
||||
</BODY>
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
transform string like a.b.c to ../../../
|
||||
@param path the path to transform into a descending directory path
|
||||
-->
|
||||
<xsl:template name="path">
|
||||
<xsl:param name="path"/>
|
||||
<xsl:if test="contains($path,'.')">
|
||||
<xsl:text>../</xsl:text>
|
||||
<xsl:call-template name="path">
|
||||
<xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(contains($path,'.')) and not($path = '')">
|
||||
<xsl:text>../</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- create the link to the stylesheet based on the package name -->
|
||||
<xsl:template name="create.stylesheet.link">
|
||||
<xsl:param name="package.name"/>
|
||||
<LINK REL ="stylesheet" TYPE="text/css" TITLE="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></LINK>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageHeader">
|
||||
|
||||
<!-- jakarta logo -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td class="bannercell" rowspan="2">
|
||||
<a href="http://jakarta.apache.org/">
|
||||
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:right"><h2>Source Code Audit</h2></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">Designed for use with <a href='http://www.webgain.com/products/quality_analyzer/'>Webgain QA/Metamata Audit</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageFooter">
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- class header -->
|
||||
<xsl:template name="class.audit.header">
|
||||
<tr>
|
||||
<th width="80%">Name</th>
|
||||
<th>Violations</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- method header -->
|
||||
<xsl:template name="violation.audit.header">
|
||||
<tr>
|
||||
<th>Line</th>
|
||||
<th>Message</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- class information -->
|
||||
<xsl:template match="class" mode="print.audit">
|
||||
<tr>
|
||||
<xsl:call-template name="alternate-row"/>
|
||||
<td><a href="{@name}.html"><xsl:value-of select="@name"/></a></td>
|
||||
<td><xsl:apply-templates select="@violations"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="violation" mode="print.audit">
|
||||
<tr>
|
||||
<xsl:call-template name="alternate-row"/>
|
||||
<td><xsl:value-of select="@line"/></td>
|
||||
<td><xsl:apply-templates select="@message"/></td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- alternated row style -->
|
||||
<xsl:template name="alternate-row">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:if test="position() mod 2 = 1">a</xsl:if>
|
||||
<xsl:if test="position() mod 2 = 0">b</xsl:if>
|
||||
</xsl:attribute>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
1026
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/mmetrics-frames.xsl
Normal file
1026
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/mmetrics-frames.xsl
Normal file
File diff suppressed because it is too large
Load Diff
179
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/tagdiff.xsl
Normal file
179
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/etc/tagdiff.xsl
Normal file
@@ -0,0 +1,179 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!-- a stylesheet to display changelogs ala netbeans -->
|
||||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
<xsl:param name="title"/>
|
||||
<xsl:param name="module"/>
|
||||
<xsl:param name="cvsweb"/>
|
||||
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
|
||||
<!-- Copy standard document elements. Elements that
|
||||
should be ignored must be filtered by apply-templates
|
||||
tags. -->
|
||||
<xsl:template match="*">
|
||||
<xsl:copy>
|
||||
<xsl:copy-of select="attribute::*[. != '']"/>
|
||||
<xsl:apply-templates/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="tagdiff">
|
||||
<html>
|
||||
<head>
|
||||
<title><xsl:value-of select="$title"/></title>
|
||||
<style type="text/css">
|
||||
body, p {
|
||||
font-family: verdana,arial,helvetica;
|
||||
font-size: 80%;
|
||||
color:#000000;
|
||||
}
|
||||
.dateAndAuthor {
|
||||
font-family: verdana,arial,helvetica;
|
||||
font-size: 80%;
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
tr, td{
|
||||
font-family: verdana,arial,helvetica;
|
||||
font-size: 80%;
|
||||
background:#eeeee0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body link="#000000" alink="#000000" vlink="#000000" text="#000000">
|
||||
<h1>
|
||||
<a name="top"><xsl:value-of select="$title"/></a>
|
||||
</h1>
|
||||
Tagdiff between <xsl:value-of select="@startTag"/> <xsl:value-of select="@startDate"/> and
|
||||
<xsl:value-of select="@endTag"/> <xsl:value-of select="@endDate"/>
|
||||
<p align="right">Designed for use with <a href="http://ant.apache.org/">Ant</a>.</p>
|
||||
<hr size="2"/>
|
||||
<a name="TOP"/>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<a href="#New">New Files</a> |
|
||||
<a href="#Modified">Modified Files</a> |
|
||||
<a href="#Removed">Removed Files</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="100%" cellpadding="3" cellspacing="1">
|
||||
<xsl:call-template name="show-entries">
|
||||
<xsl:with-param name="title">New Files</xsl:with-param>
|
||||
<xsl:with-param name="anchor">New</xsl:with-param>
|
||||
<xsl:with-param name="entries" select=".//entry[file/revision][not(file/prevrevision)]"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="show-entries">
|
||||
<xsl:with-param name="title">Modified Files</xsl:with-param>
|
||||
<xsl:with-param name="anchor">Modified</xsl:with-param>
|
||||
<xsl:with-param name="entries" select=".//entry[file/revision][file/prevrevision]"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<!-- change to entries select to address bug #36827 -->
|
||||
<xsl:call-template name="show-entries">
|
||||
<xsl:with-param name="title">Removed Files</xsl:with-param>
|
||||
<xsl:with-param name="anchor">Removed</xsl:with-param>
|
||||
<xsl:with-param name="entries" select=".//entry[not(file/revision)][file/prevrevision]"/>
|
||||
</xsl:call-template>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="show-entries">
|
||||
<xsl:param name="title"/>
|
||||
<xsl:param name="anchor"/>
|
||||
<xsl:param name="entries"/>
|
||||
<tr>
|
||||
<td colspan="2" class="dateAndAuthor">
|
||||
<a>
|
||||
<xsl:attribute name="name"><xsl:value-of select="$anchor"/></xsl:attribute>
|
||||
<xsl:value-of select="$title"/> - <xsl:value-of select="count($entries)"/> entries
|
||||
</a>
|
||||
<a href="#TOP">(back to top)</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20">
|
||||
<xsl:text> </xsl:text>
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
<xsl:apply-templates select="$entries"/>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="entry">
|
||||
<xsl:apply-templates select="file"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="date">
|
||||
<i><xsl:value-of select="."/></i>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="time">
|
||||
<i><xsl:value-of select="."/></i>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="author">
|
||||
<i>
|
||||
<a>
|
||||
<xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
|
||||
<xsl:value-of select="."/>
|
||||
</a>
|
||||
</i>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file">
|
||||
<li>
|
||||
<a target="_new">
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" /></xsl:attribute>
|
||||
<xsl:value-of select="name" />
|
||||
</a>
|
||||
<xsl:if test="string-length(prevrevision) > 0 or string-length(revision) > 0">
|
||||
<xsl:text> </xsl:text>
|
||||
<a target="_new">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(prevrevision) = 0 ">
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&content-type=text/x-cvsweb-markup</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&r2=<xsl:value-of select="prevrevision"/>&diff_format=h</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose> (<xsl:if test="count(prevrevision) > 0"> <xsl:value-of select="prevrevision"/> --> </xsl:if> <xsl:value-of select="revision"/>)
|
||||
</a>
|
||||
</xsl:if>
|
||||
</li>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Any elements within a msg are processed,
|
||||
so that we can preserve HTML tags. -->
|
||||
<xsl:template match="msg">
|
||||
<b><xsl:apply-templates/></b>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
3
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/README
Normal file
3
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/README
Normal file
@@ -0,0 +1,3 @@
|
||||
Please refer to the Ant manual under Installing Ant / Library
|
||||
Dependencies for a list of the jar requirements for various optional
|
||||
tasks and features.
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-antlr.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-antlr.jar
Normal file
Binary file not shown.
75
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-antlr.pom
Normal file
75
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-antlr.pom
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-antlr</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + ANTLR</name>
|
||||
<description>antlr specific task.
|
||||
The implementation forks a java process, therefore the antlr jar file is only needed at runtime</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<optional>true</optional>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- add a dependency with antlr 2.7.2 consistent with libraries.properties antlr 2.7.6 is also available on ibiblio-->
|
||||
<groupId>antlr</groupId>
|
||||
<artifactId>antlr</artifactId>
|
||||
<version>2.7.2</version>
|
||||
<optional>true</optional>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/ANTLR*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-bcel</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + BCEL</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>bcel</groupId>
|
||||
<artifactId>bcel</artifactId>
|
||||
<version>5.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/filters/util/JavaClassHelper*</include>
|
||||
<include>org/apache/tools/ant/util/depend/bcel/*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-bsf</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + BSF</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>bsf</groupId>
|
||||
<artifactId>bsf</artifactId>
|
||||
<version>2.4.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/Script*</include>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/script/**</include>
|
||||
<include>org/apache/tools/ant/types/optional/*Script*</include>
|
||||
<include>org/apache/tools/ant/util/Script*</include>
|
||||
<include>org/apache/tools/ant/util/optional/Script*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-log4j</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Log4J</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.13</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/listener/Log4jListener*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-oro</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Apache Oro</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>oro</groupId>
|
||||
<artifactId>oro</artifactId>
|
||||
<version>2.0.8</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/util/regexp/JakartaOro*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/tests/junit</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-regexp</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Apache Regexp</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>regexp</groupId>
|
||||
<artifactId>regexp</artifactId>
|
||||
<version>1.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/util/regexp/JakartaRegexp*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-resolver</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Apache Resolver</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>xml-resolver</groupId>
|
||||
<artifactId>xml-resolver</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/types/resolver/**</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-apache-xalan2</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Xalan 2</name>
|
||||
<description>contains Xalan2-specific features</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>xalan</groupId>
|
||||
<artifactId>xalan</artifactId>
|
||||
<version>2.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>create-timestamp-file</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<mkdir dir="${project.build.outputDirectory}"/>
|
||||
<copy todir="${project.build.outputDirectory}/org/apache/tools/ant/taskdefs/optional/junit/xsl">
|
||||
<fileset dir="${project.build.sourceDirectory}/../etc">
|
||||
<include name="junit-frames.xsl"/>
|
||||
<include name="junit-noframes.xsl"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
</tasks>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/Xalan2TraceSupport*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-commons-logging</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Commons Logging</name>
|
||||
<description>Ant Listener based on commons-logging</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging-api</artifactId>
|
||||
<version>1.0.4</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/listener/CommonsLoggingListener*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-commons-net</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + Commons Net</name>
|
||||
<description>ftp, rexec and telnet tasks</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-net</groupId>
|
||||
<artifactId>commons-net</artifactId>
|
||||
<version>1.4.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/net/FTP*</include>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/net/RExec*</include>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/net/TelnetTask*</include>
|
||||
</includes>
|
||||
<testIncludes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/net/FTP*</include>
|
||||
</testIncludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jai.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jai.jar
Normal file
Binary file not shown.
85
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jai.pom
Normal file
85
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jai.pom
Normal file
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-jai</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JAI</name>
|
||||
<description>image task and corresponding types.
|
||||
</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.media</groupId>
|
||||
<artifactId>jai-core</artifactId>
|
||||
<version>1.1.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.media</groupId>
|
||||
<artifactId>jai-codec</artifactId>
|
||||
<version>1.1.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<!-- Central has javax.media:jai-core:1.1.3 but only com.sun.media:jai-codec:1.1.2_01 -->
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>jboss</id>
|
||||
<name>JBoss</name>
|
||||
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/image/*</include>
|
||||
<include>org/apache/tools/ant/types/optional/image/*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-javamail.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-javamail.jar
Normal file
Binary file not shown.
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-javamail</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JavaMail</name>
|
||||
<description>implementation of the mail task based on javamail.
|
||||
Required to send emails to SMTP servers using user/password combinations
|
||||
or to send mail over SSL</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.mail</groupId>
|
||||
<artifactId>mail</artifactId>
|
||||
<version>1.4</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.activation</groupId>
|
||||
<artifactId>activation</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/email/MimeMailer*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jdepend.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jdepend.jar
Normal file
Binary file not shown.
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-jdepend</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JDepend</name>
|
||||
<description>task jdepend invoking the jdepend parser. There is also a version 2.9.1 of the
|
||||
jdepend parser available on the maven repository</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jdepend</groupId>
|
||||
<artifactId>jdepend</artifactId>
|
||||
<version>2.7</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/jdepend/*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jmf.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jmf.jar
Normal file
Binary file not shown.
65
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jmf.pom
Normal file
65
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jmf.pom
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-jmf</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JMF</name>
|
||||
<description>contains the sound task and a soundplayer listener
|
||||
download the dependency from http://java.sun.com/products/java-media/jmf/</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/sound/*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jsch.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jsch.jar
Normal file
Binary file not shown.
74
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jsch.pom
Normal file
74
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-jsch.pom
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-jsch</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JSch</name>
|
||||
<description>contains the sshexec and scp tasks
|
||||
</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.jcraft</groupId>
|
||||
<artifactId>jsch</artifactId>
|
||||
<version>0.1.50</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/ssh/*</include>
|
||||
</includes>
|
||||
<testIncludes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/ssh/*</include>
|
||||
</testIncludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-junit.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-junit.jar
Normal file
Binary file not shown.
101
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-junit.pom
Normal file
101
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-junit.pom
Normal file
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-junit</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JUnit</name>
|
||||
<description>contains the junit and junirreport tasks</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.11</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>create-timestamp-file</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<mkdir dir="${project.build.outputDirectory}"/>
|
||||
<copy todir="${project.build.outputDirectory}/org/apache/tools/ant/taskdefs/optional/junit/xsl">
|
||||
<fileset dir="${project.build.sourceDirectory}/../etc">
|
||||
<include name="junit-frames.xsl"/>
|
||||
<include name="junit-noframes.xsl"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
</tasks>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/junit/*</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter*</exclude>
|
||||
<exclude>org/apache/tools/ant/taskdefs/optional/junit/CustomJUnit4TestAdapterCache*</exclude>
|
||||
</excludes>
|
||||
<testIncludes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/junit/</include>
|
||||
</testIncludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-junit4.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-junit4.jar
Normal file
Binary file not shown.
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-junit4</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + JUnit 4</name>
|
||||
<description>contains JUnit 4.x support</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.11</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter*</include>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/junit/CustomJUnit4TestAdapterCache*</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-launcher.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-launcher.jar
Normal file
Binary file not shown.
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-launcher</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant Launcher</name>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/launch/*.java</include>
|
||||
</includes>
|
||||
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/ant-launcher/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/ant-launcher/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/ant-launcher</directory>
|
||||
</build>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-netrexx.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-netrexx.jar
Normal file
Binary file not shown.
@@ -0,0 +1,98 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
<version>1.9.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-netrexx</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<name>Apache Ant + NetRexx</name>
|
||||
<description>NetRexxC task
|
||||
dependency can be downloaded from http://www.ibm.com/software/awdtools/netrexx/download.html</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<!-- Processed too early, before maven-antrun-plugin gets a chance to work:
|
||||
<dependency>
|
||||
<groupId>com.ibm.netrexx</groupId>
|
||||
<artifactId>netrexx</artifactId>
|
||||
<version>2.0.5</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/../../../../lib/optional/NetRexxC.jar</systemPath>
|
||||
</dependency>
|
||||
-->
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>org/apache/tools/ant/taskdefs/optional/NetRexxC*</include>
|
||||
</includes>
|
||||
<!-- Need to use this rather than system scope as above: -->
|
||||
<compilerArguments>
|
||||
<extdirs>${basedir}/../../../../lib/optional</extdirs>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.4</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>validate</phase>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<ant dir="${basedir}/../../../.." antfile="fetch.xml" target="netrexx">
|
||||
<property name="dest" value="optional"/>
|
||||
</ant>
|
||||
</tasks>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<sourceDirectory>../../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../../target/${project.artifactId}/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../../target/${project.artifactId}/testcases</testOutputDirectory>
|
||||
<directory>../../../../target/${project.artifactId}</directory>
|
||||
</build>
|
||||
</project>
|
||||
151
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-parent.pom
Normal file
151
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-parent.pom
Normal file
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<!--
|
||||
This POM has been created manually by the Ant Development Team.
|
||||
Please contact us if you are not satisfied with the data contained in this POM.
|
||||
URL : http://ant.apache.org
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant-parent</artifactId>
|
||||
<version>1.9.2</version>
|
||||
<packaging>pom</packaging>
|
||||
<description>master POM</description>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
<name>Apache Ant</name>
|
||||
<url>http://ant.apache.org/</url>
|
||||
<inceptionYear>2000</inceptionYear>
|
||||
<organization>
|
||||
<name>The Apache Software Foundation</name>
|
||||
<url>http://www.apache.org/</url>
|
||||
</organization>
|
||||
<distributionManagement>
|
||||
<!-- Null out inherited apache distribution repo by default -->
|
||||
<repository>
|
||||
<id>dummy</id>
|
||||
<name>Dummy to avoid accidental deploys</name>
|
||||
<url>http://nowhere.net/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/ant/core/trunk</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/ant/core/trunk</developerConnection>
|
||||
<url>http://svn.apache.org/repos/asf/ant/core/trunk</url>
|
||||
</scm>
|
||||
<ciManagement>
|
||||
<system>hudson</system>
|
||||
<url>https://builds.apache.org/job/Ant_BuildFromPOMs/</url>
|
||||
</ciManagement>
|
||||
<mailingLists>
|
||||
<mailingList>
|
||||
<name>Ant Developers List</name>
|
||||
<subscribe>dev-subscribe@ant.apache.org</subscribe>
|
||||
<unsubscribe>dev-unsubscribe@ant.apache.org</unsubscribe>
|
||||
<post>dev@ant.apache.org</post>
|
||||
<archive>http://mail-archives.apache.org/mod_mbox/ant-dev</archive>
|
||||
</mailingList>
|
||||
<mailingList>
|
||||
<name>Ant Users List</name>
|
||||
<subscribe>user-subscribe@ant.apache.org</subscribe>
|
||||
<unsubscribe>user-unsubscribe@ant.apache.org</unsubscribe>
|
||||
<post>user@ant.apache.org</post>
|
||||
<archive>http://mail-archives.apache.org/mod_mbox/ant-user</archive>
|
||||
</mailingList>
|
||||
</mailingLists>
|
||||
<issueManagement>
|
||||
<system>bugzilla</system>
|
||||
<url>http://issues.apache.org/bugzilla/</url>
|
||||
</issueManagement>
|
||||
<modules>
|
||||
<module>ant</module>
|
||||
<module>ant-antlr</module>
|
||||
<module>ant-apache-bcel</module>
|
||||
<module>ant-apache-bsf</module>
|
||||
<module>ant-apache-log4j</module>
|
||||
<module>ant-apache-oro</module>
|
||||
<module>ant-apache-regexp</module>
|
||||
<module>ant-apache-resolver</module>
|
||||
<module>ant-apache-xalan2</module>
|
||||
<module>ant-commons-logging</module>
|
||||
<module>ant-commons-net</module>
|
||||
<module>ant-jai</module>
|
||||
<module>ant-javamail</module>
|
||||
<module>ant-jdepend</module>
|
||||
<module>ant-jmf</module>
|
||||
<module>ant-jsch</module>
|
||||
<module>ant-junit</module>
|
||||
<module>ant-junit4</module>
|
||||
<module>ant-launcher</module>
|
||||
<module>ant-netrexx</module>
|
||||
<module>ant-swing</module>
|
||||
<module>ant-testutil</module>
|
||||
</modules>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>3.8.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<sourceDirectory>../../../src/main</sourceDirectory>
|
||||
<testSourceDirectory>../../../src/testcases</testSourceDirectory>
|
||||
<outputDirectory>../../../target/classes</outputDirectory>
|
||||
<testOutputDirectory>../../../target/testcases</testOutputDirectory>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>2.3.2</version>
|
||||
<configuration>
|
||||
<source>1.5</source>
|
||||
<target>1.5</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.12</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<version>2.12</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
</project>
|
||||
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-swing.jar
Normal file
BIN
dbcmnpsrc/FE/mnpdev/build/apache-ant-1.9.2/lib/ant-swing.jar
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user