public inbox for gentoo-java@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-java] RFC: removing first generation rewriter support from java-ant-2.eclass
@ 2008-01-22 22:03 Petteri Räty
  2008-01-23 11:58 ` Vlastimil Babka
  0 siblings, 1 reply; 2+ messages in thread
From: Petteri Räty @ 2008-01-22 22:03 UTC (permalink / raw
  To: Gentoo Java


[-- Attachment #1.1: Type: text/plain, Size: 309 bytes --]

The eclass seems to already depend on a version of javatoolkit providing 
xml-rewrite-2.py so I don't see any reason to keep the old compatibility 
code around. Attached is a patch that removes it. Will test it for a 
while on my local machine and then commit unless someone objects.

Regards,
Petteri

[-- Attachment #1.2: ant-nogen1.patch --]
[-- Type: text/plain, Size: 8999 bytes --]

Index: java-ant-2.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/java-ant-2.eclass,v
retrieving revision 1.26
diff -u -r1.26 java-ant-2.eclass
--- java-ant-2.eclass	22 Jan 2008 21:57:03 -0000	1.26
+++ java-ant-2.eclass	22 Jan 2008 22:02:12 -0000
@@ -210,8 +210,6 @@
 	else
 		local files
 
-		[[ -x "/usr/bin/xml-rewrite-2.py" ]] && local using_new="true"
-
 		for file in "${@}"; do
 			debug-print "${FUNCNAME}: ${file}"
 
@@ -224,107 +222,93 @@
 			fi
 
 			files="${files} -f '${file}'"
-
-			if [[ -z "${using_new}" ]]; then
-				echo "Rewriting $file (using xml-rewrite.py)"
-				# Doing this twice because otherwise the source attributes would
-				# get added to target tags too and javadoc does not like target
-				xml-rewrite.py -f "${file}" \
-					-c -e ${JAVA_PKG_BSFIX_SOURCE_TAGS// / -e } \
-					-a source -v ${want_source} || _bsfix_die "xml-rewrite failed: ${file}"
-				xml-rewrite.py -f "${file}" \
-					-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
-					-a target -v ${want_target} || _bsfix_die "xml-rewrite failed: ${file}"
-			fi
 		done
 
-		if [[ "${using_new}" ]]; then
-			# Play nice with paludis
-			if [[ $(type -t quiet_mode) = function ]] && quiet_mode; then
-				local output=">/dev/null"
-			fi
-
-			# for javadoc target and all in one pass, we need the new rewriter.
-			local rewriter3="/usr/share/javatoolkit/xml-rewrite-3.py"
-			if [[ ! -f ${rewriter3} ]]; then
-				debug-print "Using second generation rewriter"
-				eval echo "Rewriting source attributes" ${output}
-				eval xml-rewrite-2.py ${files} \
-					-c -e ${JAVA_PKG_BSFIX_SOURCE_TAGS// / -e } \
-					-a source -v ${want_source} ${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
+		# Play nice with paludis
+		if [[ $(type -t quiet_mode) = function ]] && quiet_mode; then
+			local output=">/dev/null"
+		fi
 
-				eval echo "Rewriting target attributes" ${output}
-				eval xml-rewrite-2.py ${files} \
-					-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
-					-a target -v ${want_target} ${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
+		# for javadoc target and all in one pass, we need the new rewriter.
+		local rewriter3="/usr/share/javatoolkit/xml-rewrite-3.py"
+		if [[ ! -f ${rewriter3} ]]; then
+			debug-print "Using second generation rewriter"
+			eval echo "Rewriting source attributes" ${output}
+			eval xml-rewrite-2.py ${files} \
+				-c -e ${JAVA_PKG_BSFIX_SOURCE_TAGS// / -e } \
+				-a source -v ${want_source} ${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
+
+			eval echo "Rewriting target attributes" ${output}
+			eval xml-rewrite-2.py ${files} \
+				-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
+				-a target -v ${want_target} ${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
+
+			eval echo "Rewriting nowarn attributes" ${output}
+			eval xml-rewrite-2.py ${files} \
+				-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
+				-a nowarn -v yes ${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
 
-				eval echo "Rewriting nowarn attributes" ${output}
+			if [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
+				eval echo "Adding gentoo.classpath to javac tasks"
 				eval xml-rewrite-2.py ${files} \
-					-c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
-					-a nowarn -v yes ${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
-
-				if [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
-					eval echo "Adding gentoo.classpath to javac tasks"
-					eval xml-rewrite-2.py ${files} \
-						 -c -e javac -e xjavac -a classpath -v \
-						 '\${gentoo.classpath}' \
-						 || _bsfix_die "xml-rewrite2 failed"
-				fi
-			else
-				debug-print "Using third generation rewriter"
-				eval echo "Rewriting attributes" ${output}
-				local bsfix_extra_args=""
-				# WARNING KEEP THE ORDER, ESPECIALLY FOR CHANGED ATTRIBUTES!
-				if [[ -n ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
-					bsfix_extra_args="${bsfix_extra_args} -g -e javac -e xjavac "
-					bsfix_extra_args="${bsfix_extra_args} -a classpath -v '\${gentoo.classpath}'"
+					 -c -e javac -e xjavac -a classpath -v \
+					 '\${gentoo.classpath}' \
+					 || _bsfix_die "xml-rewrite2 failed"
+			fi
+		else
+			debug-print "Using third generation rewriter"
+			eval echo "Rewriting attributes" ${output}
+			local bsfix_extra_args=""
+			# WARNING KEEP THE ORDER, ESPECIALLY FOR CHANGED ATTRIBUTES!
+			if [[ -n ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
+				bsfix_extra_args="${bsfix_extra_args} -g -e javac -e xjavac "
+				bsfix_extra_args="${bsfix_extra_args} -a classpath -v '\${gentoo.classpath}'"
+			fi
+			if [[ -n ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]]; then
+				if [[ -n ${JAVA_ANT_JAVADOC_OUTPUT_DIR} ]]; then
+					die "Do not define JAVA_ANT_JAVADOC_OUTPUT_DIR!"
 				fi
-				if [[ -n ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]]; then
-					if [[ -n ${JAVA_ANT_JAVADOC_OUTPUT_DIR} ]]; then
-						die "Do not define JAVA_ANT_JAVADOC_OUTPUT_DIR!"
-					fi
-					# Where will our generated javadoc go.
-					readonly JAVA_ANT_JAVADOC_OUTPUT_DIR=${WORKDIR}/gentoo_javadoc
-					mkdir -p "${JAVA_ANT_JAVADOC_OUTPUT_DIR}" || die
-
-					if hasq doc ${IUSE}; then
-						if use doc; then
-							if [[ -z ${EANT_DOC_TARGET} ]]; then
-								EANT_DOC_TARGET="gentoojavadoc"
-							else
-								die "You can't use javadoc adding and set EANT_DOC_TARGET too."
-							fi
-
-							for dir in ${JAVA_ANT_JAVADOC_INPUT_DIRS};do
-								if [[ ! -d ${dir} ]]; then
-									eerror "This dir: ${dir} doesnt' exists"
-									die "You must specify directories for javadoc input/output dirs."
-								fi
-							done
-							bsfix_extra_args="${bsfix_extra_args} --javadoc --source-directory "
-							# filter third/double spaces
-							JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS//   /}
-							JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS//  /}
-							bsfix_extra_args="${bsfix_extra_args} ${JAVA_ANT_JAVADOC_INPUT_DIRS// / --source-directory }"
-							bsfix_extra_args="${bsfix_extra_args} --output-directory ${JAVA_ANT_JAVADOC_OUTPUT_DIR}"
+				# Where will our generated javadoc go.
+				readonly JAVA_ANT_JAVADOC_OUTPUT_DIR=${WORKDIR}/gentoo_javadoc
+				mkdir -p "${JAVA_ANT_JAVADOC_OUTPUT_DIR}" || die
+
+				if hasq doc ${IUSE}; then
+					if use doc; then
+						if [[ -z ${EANT_DOC_TARGET} ]]; then
+							EANT_DOC_TARGET="gentoojavadoc"
+						else
+							die "You can't use javadoc adding and set EANT_DOC_TARGET too."
 						fi
-					else
-						die "You need to have doc in IUSE when using JAVA_ANT_JAVADOC_INPUT_DIRS"
+
+						for dir in ${JAVA_ANT_JAVADOC_INPUT_DIRS};do
+							if [[ ! -d ${dir} ]]; then
+								eerror "This dir: ${dir} doesnt' exists"
+								die "You must specify directories for javadoc input/output dirs."
+							fi
+						done
+						bsfix_extra_args="${bsfix_extra_args} --javadoc --source-directory "
+						# filter third/double spaces
+						JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS//   /}
+						JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS//  /}
+						bsfix_extra_args="${bsfix_extra_args} ${JAVA_ANT_JAVADOC_INPUT_DIRS// / --source-directory }"
+						bsfix_extra_args="${bsfix_extra_args} --output-directory ${JAVA_ANT_JAVADOC_OUTPUT_DIR}"
 					fi
+				else
+					die "You need to have doc in IUSE when using JAVA_ANT_JAVADOC_INPUT_DIRS"
 				fi
+			fi
 
-				[[ -n ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \
-					&& bsfix_extra_args="${bsfix_extra_args} ${JAVA_ANT_BSFIX_EXTRA_ARGS}"
+			[[ -n ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \
+				&& bsfix_extra_args="${bsfix_extra_args} ${JAVA_ANT_BSFIX_EXTRA_ARGS}"
 
-				eval ${rewriter3}  ${files} \
-					-c --source-element ${JAVA_PKG_BSFIX_SOURCE_TAGS// / --source-element } \
-					--source-attribute source --source-value ${want_source} \
-					--target-element   ${JAVA_PKG_BSFIX_TARGET_TAGS// / --target-element }  \
-					--target-attribute target --target-value ${want_target} \
-					--target-attribute nowarn --target-value yes \
-					${bsfix_extra_args} \
-					${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
-			fi
+			eval ${rewriter3}  ${files} \
+				-c --source-element ${JAVA_PKG_BSFIX_SOURCE_TAGS// / --source-element } \
+				--source-attribute source --source-value ${want_source} \
+				--target-element   ${JAVA_PKG_BSFIX_TARGET_TAGS// / --target-element }  \
+				--target-attribute target --target-value ${want_target} \
+				--target-attribute nowarn --target-value yes \
+				${bsfix_extra_args} \
+				${output} || _bsfix_die "xml-rewrite2 failed: ${file}"
 		fi
 
 		if [[ -n "${JAVA_PKG_DEBUG}" ]]; then
@@ -405,11 +389,9 @@
 java-ant_xml-rewrite() {
 	local bindir="${ROOT}/usr/bin/"
 	local gen2="${bindir}/xml-rewrite-2.py"
-	local gen1="${bindir}/xml-rewrite.py"
+	# gen1 is deprecated
 	if [[ -x "${gen2}" ]]; then
 		${gen2} "${@}" || die "${gen2} failed"
-	elif [[ -x "${gen1}" ]]; then
-		${gen1} "${@}" || die "${gen1} failed"
 	else
 		eerror "No binary for rewriting found."
 		eerror "Do you have dev-java/javatoolkit installed?"

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-01-23 11:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-22 22:03 [gentoo-java] RFC: removing first generation rewriter support from java-ant-2.eclass Petteri Räty
2008-01-23 11:58 ` Vlastimil Babka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox