B4A.UTIL.DOCU.BODY-DEPENDENCY-DEFINITION-VERIFY

Summary

%{XML2ATTR,PREFIX=xml,KEY=::}

%{SCRIPT:groovy: def deps = $attributes.xml.best4Automic.pm.package.dependencies.dependency

def status = [
	OK : 0,
	UNNECESSARY : 0,
	NOT_INSTALLED : 0,
	WRONG_VERSION : 0,
	MISSING : 0
]

if ( deps instanceof HashMap )
	deps = [ deps ]
println(deps)
for ( dep in deps ) {
	status[ dep.status ] += 1
}
def errors = status.UNNECESSARY + status.NOT_INSTALLED + status.WRONG_VERSION + status.MISSING > 0

$output.append( """\
$output.append( "<h1>Errors in Dependencies</h1>" )

def filteredDeps = deps.findAll{ it.status.equals( "MISSING" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Missing Dependencies</h2><table><tr><th>Package</th><th>Installed Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td><td>$dep.installed.version</td></tr>" )
	}
}
$output.append( "</table>" )

filteredDeps = deps.findAll{ it.status.equals( "NOT_INSTALLED" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Not Installed Dependencies</h2><table><tr><th>Package</th><th>Operator</th><th>Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td>$dep.operator<td><td>$dep.version</td></tr>" )
	}
}
$output.append( "</table>" )

filteredDeps = deps.findAll{ it.status.equals( "UNNECESSARY" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Unnecessary Dependencies</h2><table><tr><th>Package</th><th>Operator</th><th>Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td>$dep.operator<td><td>$dep.version</td></tr>" )
	}
}
$output.append( "</table>" )

filteredDeps = deps.findAll{ it.status.equals( "WRONG_VERSION" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Wrong Version in Dependencies</h2><table><tr><th>Package</th><th>Operator</th><th>Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td>$dep.operator<td><td>$dep.version</td></tr>" )
	}
}
$output.append( "</table>" )

$output.append( "<h1>References</h1>" )

def refs = $attributes.xml.best4Automic.pm.package.references.object

$output.append( "<table><tr><th>Source Object</th><th>Referenced Objects</th></tr>" )

if ( !( refs instanceof List ) ) { refs = [ refs ] } for ( ref in refs ) { def reflist = "" if ( ref.reference instanceof List ) reflist = ref.reference.inject([]) { result, entry -> result « “$entry.name” }.join( “, " ) else reflist = ref.reference.name $output.append( “$ref.name$reflist” ) } $output.append( “” ) }

Object type
DOCU
Object Folder
PACKAGES/BEST4AUTOMIC/B4A.UTIL/CONFIG
Title
mail body for pm.DependencyDefinitionVerify
Archive Key 1
-
Archive Key 2
-
Created
WRITER/B4A am: 2022-03-24 08:02:37
Last Modified
WRITER/B4A am: 2023-03-08 08:06:28 9 x
Last Used
-

Text Documentation

%{XML2ATTR,PREFIX=xml,KEY=%(custom.key):%(custom.variable):}

%{SCRIPT:groovy: def deps = $attributes.xml.best4Automic.pm.package.dependencies.dependency

def status = [
	OK : 0,
	UNNECESSARY : 0,
	NOT_INSTALLED : 0,
	WRONG_VERSION : 0,
	MISSING : 0
]

if ( deps instanceof HashMap )
	deps = [ deps ]
println(deps)
for ( dep in deps ) {
	status[ dep.status ] += 1
}
def errors = status.UNNECESSARY + status.NOT_INSTALLED + status.WRONG_VERSION + status.MISSING > 0

$output.append( """\
$output.append( "<h1>Errors in Dependencies</h1>" )

def filteredDeps = deps.findAll{ it.status.equals( "MISSING" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Missing Dependencies</h2><table><tr><th>Package</th><th>Installed Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td><td>$dep.installed.version</td></tr>" )
	}
}
$output.append( "</table>" )

filteredDeps = deps.findAll{ it.status.equals( "NOT_INSTALLED" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Not Installed Dependencies</h2><table><tr><th>Package</th><th>Operator</th><th>Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td>$dep.operator<td><td>$dep.version</td></tr>" )
	}
}
$output.append( "</table>" )

filteredDeps = deps.findAll{ it.status.equals( "UNNECESSARY" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Unnecessary Dependencies</h2><table><tr><th>Package</th><th>Operator</th><th>Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td>$dep.operator<td><td>$dep.version</td></tr>" )
	}
}
$output.append( "</table>" )

filteredDeps = deps.findAll{ it.status.equals( "WRONG_VERSION" ) }
if ( filteredDeps.size() > 0 ) {
	$output.append( "<h2>Wrong Version in Dependencies</h2><table><tr><th>Package</th><th>Operator</th><th>Version</th></tr>" )
	for ( dep in filteredDeps ) {
		$output.append( "<tr><td>$dep.package</td>$dep.operator<td><td>$dep.version</td></tr>" )
	}
}
$output.append( "</table>" )

$output.append( "<h1>References</h1>" )

def refs = $attributes.xml.best4Automic.pm.package.references.object

$output.append( "<table><tr><th>Source Object</th><th>Referenced Objects</th></tr>" )

if ( !( refs instanceof List ) ) { refs = [ refs ] } for ( ref in refs ) { def reflist = "” if ( ref.reference instanceof List ) reflist = ref.reference.inject([]) { result, entry -> result « “$entry.name” }.join( “, " ) else reflist = ref.reference.name $output.append( “$ref.name$reflist” ) } $output.append( “” ) }

XML Documentation