http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/ColorCheckBoxSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/ColorCheckBoxSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/ColorCheckBoxSkin.mxml new file mode 100644 index 0000000..b8f9e35 --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/ColorCheckBoxSkin.mxml @@ -0,0 +1,181 @@ +<?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. + +--> + +<!--- The default skin class for the Spark CheckBox component. + + @see spark.components.CheckBox + + @langversion 3.0 + @playerversion Flash 10 + @playerversion AIR 1.5 + @productversion Flex 4 +--> +<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabledStates="0.5"> + + <fx:Metadata> + <![CDATA[ + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("spark.components.CheckBox")] + ]]> + </fx:Metadata> + + <fx:Script> + <![CDATA[ + /** + * @private + */ + private static const focusExclusions:Array = ["labelDisplay"]; + + /** + * @private + */ + override public function get focusSkinExclusions():Array { return focusExclusions;}; + ]]> + </fx:Script> + + <s:states> + <s:State name="up" /> + <s:State name="over" stateGroups="overStates" /> + <s:State name="down" stateGroups="downStates" /> + <s:State name="disabled" stateGroups="disabledStates" /> + <s:State name="upAndSelected" stateGroups="selectedStates" /> + <s:State name="overAndSelected" stateGroups="overStates, selectedStates" /> + <s:State name="downAndSelected" stateGroups="downStates, selectedStates" /> + <s:State name="disabledAndSelected" stateGroups="disabledStates, selectedStates" /> + </s:states> + + <s:Group verticalCenter="0" width="13" height="13" layoutDirection="ltr"> + <!-- drop shadow --> + <s:Rect left="-1" top="-1" right="-1" bottom="-1"> + <s:stroke> + <s:LinearGradientStroke rotation="90" weight="1"> + <s:GradientEntry color="0x000000" + color.downStates="0xFFFFFF" + alpha="0.011" + alpha.downStates="0" /> + <s:GradientEntry color="0x000000" + color.downStates="0xFFFFFF" + alpha="0.121" + alpha.downStates="0.57" /> + </s:LinearGradientStroke> + </s:stroke> + </s:Rect> + + <!-- fill --> + <s:Rect left="1" top="1" right="1" bottom="1"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xFFFFFF" + color.overStates="0xBBBDBD" + color.downStates="0xAAAAAA" + alpha="0.85" /> + <s:GradientEntry color="0xD8D8D8" + color.overStates="0x9FA0A1" + color.downStates="0x929496" + alpha="0.85" /> + </s:LinearGradient> + </s:fill> + </s:Rect> + + <!-- fill highlight --> + <s:Rect left="1" right="1" top="1" height="5"> + <s:fill> + <s:SolidColor color="0xFFFFFF" alpha="0.33" alpha.downStates="0" /> + </s:fill> + </s:Rect> + + <!-- layer 6: highlight stroke (all states except down) --> + <s:Rect left="1" right="1" top="1" bottom="1" excludeFrom="downStates"> + <s:stroke> + <s:LinearGradientStroke rotation="90" weight="1"> + <s:GradientEntry color="0xFFFFFF" alpha.overStates="0.33" /> + <s:GradientEntry color="0xFFFFFF" alpha="0.12" alpha.overStates="0.0396" /> + </s:LinearGradientStroke> + </s:stroke> + </s:Rect> + + <!-- layer 6: highlight stroke (down state only) --> + <s:Rect left="1" top="1" bottom="1" width="1" includeIn="downStates"> + <s:fill> + <s:SolidColor color="0x000000" alpha="0.07" /> + </s:fill> + </s:Rect> + <s:Rect right="1" top="1" bottom="1" width="1" includeIn="downStates"> + <s:fill> + <s:SolidColor color="0x000000" alpha="0.07" /> + </s:fill> + </s:Rect> + <s:Rect left="1" top="1" right="1" height="1" includeIn="downStates"> + <s:fill> + <s:SolidColor color="0x000000" alpha="0.25" /> + </s:fill> + </s:Rect> + <s:Rect left="1" top="2" right="1" height="1" includeIn="downStates"> + <s:fill> + <s:SolidColor color="0x000000" alpha="0.09" /> + </s:fill> + </s:Rect> + + <!-- border - put on top of the fill so it doesn't disappear when scale is less than 1 --> + <s:Rect left="0" top="0" right="0" bottom="0"> + <s:stroke> + <s:LinearGradientStroke rotation="90" weight="1"> + <s:GradientEntry color="0x000000" + alpha="0.5625" + alpha.downStates="0.6375" /> + <s:GradientEntry color="0x000000" + alpha="0.75" + alpha.downStates="0.85" /> + </s:LinearGradientStroke> + </s:stroke> + </s:Rect> + + <!-- checkmark --> + <!--- Shows green color when selected, red when unselected --> + <s:Path left="2" top="0" includeIn="selectedStates" id="check" itemCreationPolicy="immediate" + data="M 9.2 0.1 L 4.05 6.55 L 3.15 5.0 L 0.05 5.0 L 4.6 9.7 L 12.05 0.1 L 9.2 0.1"> + <s:fill> + <!--- + @private + The solid color fill for the CheckBox's checkmark. The default alpha is .9, and the default fill color is 0x000000. + --> + <s:SolidColor id="checkMarkFill" color="0" alpha="0.8" /> + </s:fill> + </s:Path> + <s:Rect left="2" top="0" + width="100%" height="100%"> + <s:fill> + <s:SolidColor id="checkMarkOverlay" color="{hostComponent.selected?0x00FF00:0xFF0000}" alpha="0.5" /> + </s:fill> + </s:Rect> + </s:Group> + + <!-- Label --> + <!--- @copy spark.components.supportClasses.ButtonBase#labelDisplay --> + <s:Label id="labelDisplay" + textAlign="start" + verticalAlign="middle" + maxDisplayedLines="1" + left="18" right="0" top="3" bottom="3" verticalCenter="2" /> + +</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/InstallApacheFlexSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/InstallApacheFlexSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/InstallApacheFlexSkin.mxml new file mode 100644 index 0000000..c6211be --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/InstallApacheFlexSkin.mxml @@ -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. + +--> +<!--- A skin class for the Spark WindowedApplication and Window containers. + This class defines just a border and status bar, but no gripper button, + title bar, or title bar buttons. + + <p>You can either use system chrome, the FlexChromSkin class, or + the WindowedApplicationSkin class to define the appearance of + the WindowedApplication and Window containers. + To use the WindowedApplicationSkin class with the WindowedApplication container, + set <code>systemChrome</code> to "none" + in the application's .xml file, and set the <code>skinClass</code> style to + spark.skins.spark.WindowedApplicationSkin. + To use the WindowedApplicationSkin class with the Window container, + set the <code>Window.systemChrome</code> property to "none", + and set the <code>skinClass</code> style to + spark.skins.spark.WindowedApplicationSkin.</p> + + @see spark.components.WindowedApplication + + @langversion 3.0 + @playerversion Flash 10 + @playerversion AIR 1.5 + @productversion Flex 4 + +--> +<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabledGroup="0.5" > + <fx:Metadata>[HostComponent("spark.components.WindowedApplication")]</fx:Metadata> + + <fx:Script fb:purpose="styling"> + /* Define the skin elements that should not be colorized. + * For WindowedApplication, border and status bar background are colorized, + * but the content area and status text are not. + * Exclude the titleBar and scroller because they are SparkSkins and we + * don't want to colorize them twice. + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 1.5 + * @productversion Flex 4 + */ + static private const exclusions:Array = ["backgroundRect", "contentGroup", "statusText"]; + + /** + * @private + */ + override public function get colorizeExclusions():Array {return exclusions;} + + /** + * @private + */ + override protected function initializationComplete():void + { + useChromeColor = true; + super.initializationComplete(); + } + + </fx:Script> + + <s:states> + <s:State name="normal" /> + <s:State name="disabled" stateGroups="disabledGroup" /> + <s:State name="normalAndInactive" stateGroups="inactiveGroup" /> + <s:State name="disabledAndInactive" stateGroups="disabledGroup, inactiveGroup" /> + </s:states> + + <!-- layer 1: background fill --> + <s:BitmapImage source="@Embed('/assets/icons/bg_logo.png')" top="0" left="0" scaleMode="letterbox" /> + <s:BitmapImage source="@Embed('/assets/icons/bg_logo.png')" top="25" left="0" scaleMode="letterbox" /> + <s:BitmapImage id="textIcon" source="@Embed('/assets/icons/apache_flex_logo_text.png')" scaleX=".3" scaleY=".3" smooth="true" horizontalCenter="0" top="5" /> + + <!-- layer 2: content + status bar --> + <s:Group left="0" right="0" top="0" bottom="0" minHeight="24" minWidth="0" > + <s:layout> + <s:VerticalLayout gap="0"/> + </s:layout> + + <!-- content --> + <!--- @copy spark.components.SkinnableContainer#contentGroup --> + <s:Group id="contentGroup" width="100%" height="100%" minHeight="0" minWidth="0"/> + + <!-- status bar --> + <!--- @copy spark.components.WindowedApplication#statusBar --> + <s:Group id="statusBar" width="100%" minHeight="24" > + + <!-- status bar fill --> + <s:Rect left="0" right="0" top="0" bottom="0"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xE2E2E2" /> + <s:GradientEntry color="0xD9D9D9" /> + </s:LinearGradient> + </s:fill> + </s:Rect> + + <!-- status bar highlight --> + <s:Rect left="1" right="1" top="1" bottom="0" > + <s:stroke> + <s:LinearGradientStroke rotation="90" weight="1"> + <s:GradientEntry color="0xEAEAEA" /> + <s:GradientEntry color="0xBEBEBE" /> + </s:LinearGradientStroke> + </s:stroke> + </s:Rect> + + <!-- status text --> + <!--- @copy spark.components.WindowedApplication#statusText --> + <s:Label id="statusText" top="2" bottom="2" left="10" right="10" verticalAlign="middle" + fontSize="10" color="0x585858" width="100%" maxDisplayedLines="1" /> + + </s:Group> + </s:Group> + +</s:SparkSkin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/ProgressBarSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/ProgressBarSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/ProgressBarSkin.mxml new file mode 100644 index 0000000..b1acb05 --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/ProgressBarSkin.mxml @@ -0,0 +1,106 @@ +<?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. + +--> +<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*" xmlns:controls="ws.tink.spark.controls.*"> + <!-- host component --> + <fx:Metadata> + [HostComponent("ws.tink.spark.controls.ProgressBar")] + </fx:Metadata> + + <fx:Script> + <![CDATA[ + + override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void + { + barColor.color = getStyle( "chromeColor" ); + + border.radiusX = border.radiusY = unscaledHeight / 2; + fill.radiusX = fill.radiusY = ( unscaledHeight - 2 ) / 2; + barFill.radiusX = barFill.radiusY = ( unscaledHeight - 4 ) / 2; + barHighlight.radiusX = barHighlight.radiusY = ( unscaledHeight - 4 ) / 2; + + bar.minWidth = unscaledHeight-4; + + super.updateDisplayList( unscaledWidth, unscaledHeight ); + } + ]]> + </fx:Script> + + <!-- SkinParts + name=percentLayout, type=PercentLayout, required=true + --> + + <s:layout> + <controls:PercentLayout id="percentLayout" resizeItems="{[bar]}"/> + </s:layout> + + + + <s:Group width="100%" height="100%"> + + <s:filters> + <s:DropShadowFilter blurX="4" blurY="4" inner="true" distance="1" angle="124" color="0x7b7b7b" alpha="0.4"/> + </s:filters> + + <!-- border --> + <!--- @private --> + <s:Rect id="border" left="0" right="0" top="0" bottom="0"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xBFBFBF"/> + <s:GradientEntry color="0xFFFFFF"/> + </s:LinearGradient> + </s:fill> + </s:Rect> + + <!-- fill --> + <!--- @private --> + <s:Rect id="fill" left="1" right="1" top="1" bottom="1"> + <s:fill> + <s:SolidColor color="0xFFFFFF"/> + </s:fill> + </s:Rect> + + </s:Group> + + <s:Group id="bar" left="2" right="2" top="2" bottom="2"> + + <s:filters> + <s:DropShadowFilter blurX="0" blurY="0" inner="true" distance="1" angle="90" color="0xffffff" alpha="0.2"/> + </s:filters> + + <s:Rect id="barFill" width="100%" height="100%"> + <s:fill> + <s:SolidColor id="barColor"/> + </s:fill> + </s:Rect> + + <s:Rect id="barHighlight" width="100%" height="100%"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry alpha="0.5" color="0xFFFFFF"/> + <s:GradientEntry alpha="0" color="0xFFFFFF"/> + </s:LinearGradient> + </s:fill> + </s:Rect> + + </s:Group> +</s:Skin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/RotatorSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/RotatorSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/RotatorSkin.mxml new file mode 100644 index 0000000..b2aa92c --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/RotatorSkin.mxml @@ -0,0 +1,46 @@ +<?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. + +--> +<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx"> + + <!-- host component --> + <fx:Metadata> + <![CDATA[ + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("ws.tink.spark.controls.Rotator")] + ]]> + </fx:Metadata> + + <s:Ellipse width="100%" height="100%"> + <s:fill> + <s:SolidColor color="0xff0000"/> + </s:fill> + </s:Ellipse> + + <s:Line horizontalCenter="0" height="100%"> + <s:stroke> + <s:SolidColorStroke caps="none" color="0x000000" weight="3"/> + </s:stroke> + </s:Line> + +</s:Skin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/StepActivityIndicatorSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/StepActivityIndicatorSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/StepActivityIndicatorSkin.mxml new file mode 100644 index 0000000..987e8f4 --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/StepActivityIndicatorSkin.mxml @@ -0,0 +1,38 @@ +<?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. + +--> +<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" + xmlns:controls="ws.tink.spark.controls.*"> + + <!-- host component --> + <fx:Metadata> + <![CDATA[ + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("ws.tink.spark.controls.ActivityIndicator")] + ]]> + </fx:Metadata> + + <!--- @copy ws.tink.spark.controls.ActivityIndicator#indicator --> + <controls:Rotator id="indicator" height="100%" width="100%" delta="35"/> + +</s:Skin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/StepRotatorSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/StepRotatorSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/StepRotatorSkin.mxml new file mode 100644 index 0000000..036bb24 --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/StepRotatorSkin.mxml @@ -0,0 +1,64 @@ +<?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. + +--> +<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" + xmlns:layouts="ws.tink.spark.layouts.*"> + + <!-- host component --> + <fx:Metadata> + <![CDATA[ + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("ws.tink.spark.controls.Rotator")] + ]]> + </fx:Metadata> + + <s:DataGroup width="100%" height="100%"> + <s:layout> + <layouts:EllipseLayout /> + </s:layout> + <s:dataProvider> + <s:ArrayList> + <fx:Object/> + <fx:Object/> + <fx:Object/> + <fx:Object/> + <fx:Object/> + <fx:Object/> + <fx:Object/> + <fx:Object/> + </s:ArrayList> + </s:dataProvider> + <s:itemRenderer> + <fx:Component> + <s:ItemRenderer width="3" height="3"> + <s:Ellipse width="100%" height="100%"> + <s:fill> + <s:SolidColor alpha="{((1/7)*itemIndex)}"/> + </s:fill> + </s:Ellipse> + </s:ItemRenderer> + </fx:Component> + </s:itemRenderer> + </s:DataGroup> + +</s:Skin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/TextInputSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/TextInputSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/TextInputSkin.mxml new file mode 100644 index 0000000..b748a9b --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/TextInputSkin.mxml @@ -0,0 +1,224 @@ +<?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. + +--> +<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:fb="http://ns.adobe.com/flashbuilder/2009" + alpha.disabledStates="0.5" blendMode="normal"> + + <fx:Metadata> + <![CDATA[ + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("spark.components.TextInput")] + ]]> + </fx:Metadata> + + <fx:Script fb:purpose="styling"> + <![CDATA[ + import mx.core.FlexVersion; + + private var paddingChanged:Boolean; + + + /** + * @private + */ + override protected function commitProperties():void + { + super.commitProperties(); + + if (paddingChanged) + { + updatePadding(); + paddingChanged = false; + } + } + + + /** + * @private + */ + override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void + { + if (getStyle("borderVisible") == true) + { + border.visible = true; + borderGradient.visible = true; + background.left = background.top = background.right = background.bottom = 1; + textDisplay.left = textDisplay.top = textDisplay.right = textDisplay.bottom = 1; + if (promptDisplay) + { + promptDisplay.setLayoutBoundsSize(unscaledWidth - 2, unscaledHeight - 2); + promptDisplay.setLayoutBoundsPosition(1, 1); + } + } + else + { + border.visible = false; + borderGradient.visible = false; + background.left = background.top = background.right = background.bottom = 0; + textDisplay.left = textDisplay.top = textDisplay.right = textDisplay.bottom = 0; + if (promptDisplay) + { + promptDisplay.setLayoutBoundsSize(unscaledWidth, unscaledHeight); + promptDisplay.setLayoutBoundsPosition(0, 0); + } + } + + borderStroke.color = getStyle("borderColor"); + borderStroke.alpha = getStyle("borderAlpha"); + + super.updateDisplayList(unscaledWidth, unscaledHeight); + } + + /** + * @private + */ + private function updatePadding():void + { + if (!textDisplay) + return; + + // Push padding styles into the textDisplay + var padding:Number; + + padding = getStyle("paddingLeft"); + if (textDisplay.getStyle("paddingLeft") != padding) + textDisplay.setStyle("paddingLeft", padding); + + padding = getStyle("paddingTop"); + if (textDisplay.getStyle("paddingTop") != padding) + textDisplay.setStyle("paddingTop", padding); + + padding = getStyle("paddingRight"); + if (textDisplay.getStyle("paddingRight") != padding) + textDisplay.setStyle("paddingRight", padding); + + padding = getStyle("paddingBottom"); + if (textDisplay.getStyle("paddingBottom") != padding) + textDisplay.setStyle("paddingBottom", padding); + + if (!promptDisplay) + return; + + padding = getStyle("paddingLeft"); + if (promptDisplay.getStyle("paddingLeft") != padding) + promptDisplay.setStyle("paddingLeft", padding); + + padding = getStyle("paddingTop"); + if (promptDisplay.getStyle("paddingTop") != padding) + promptDisplay.setStyle("paddingTop", padding); + + padding = getStyle("paddingRight"); + if (promptDisplay.getStyle("paddingRight") != padding) + promptDisplay.setStyle("paddingRight", padding); + + padding = getStyle("paddingBottom"); + if (promptDisplay.getStyle("paddingBottom") != padding) + promptDisplay.setStyle("paddingBottom", padding); + } + + /** + * @private + */ + override public function styleChanged(styleProp:String):void + { + var allStyles:Boolean = !styleProp || styleProp == "styleName"; + + super.styleChanged(styleProp); + + if (allStyles || styleProp.indexOf("padding") == 0) + { + paddingChanged = true; + invalidateProperties(); + } + } + ]]> + </fx:Script> + + <fx:Script> + <![CDATA[ + /** + * @private + */ + private static const focusExclusions:Array = ["textDisplay"]; + + /** + * @private + */ + override public function get focusSkinExclusions():Array { return focusExclusions;}; + ]]> + </fx:Script> + + <s:states> + <s:State name="normal"/> + <s:State name="disabled" stateGroups="disabledStates"/> + <s:State name="normalWithPrompt"/> + <s:State name="disabledWithPrompt" stateGroups="disabledStates"/> + </s:states> + + <!-- border --> + <!--- @private --> + <s:Rect left="0" right="0" top="0" bottom="0" id="border" + radiusX="2" radiusY="2"> + <s:stroke> + <!--- @private --> + <s:SolidColorStroke id="borderStroke" weight="1" /> + </s:stroke> + </s:Rect> + + <!-- border gradient --> + <!--- @private --> + <s:Rect left="0" right="0" top="0" bottom="0" id="borderGradient" + radiusX="2" radiusY="2"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xffffff" alpha="0"/> + <s:GradientEntry color="0xffffff" alpha="1"/> + </s:LinearGradient> + </s:fill> + </s:Rect> + + <!-- fill --> + <!--- Defines the appearance of the TextInput component's background. --> + <s:Rect id="background" left="1" right="1" top="1" bottom="1" + radiusX="1" radiusY="1"> + <s:fill> + <!--- @private Defines the background fill color. --> + <s:SolidColor id="bgFill" color="0xFFFFFF" /> + </s:fill> + </s:Rect> + + <!-- text --> + <!--- @copy spark.components.supportClasses.SkinnableTextBase#textDisplay --> + <s:RichEditableText id="textDisplay" + verticalAlign="middle" + widthInChars="10" + left="1" right="1" top="1" bottom="1" /> + <!--- Defines the Label that is used for prompt text. The includeInLayout property is false so the prompt text does not affect measurement. --> + <s:Label id="promptDisplay" maxDisplayedLines="1" + verticalAlign="middle" + mouseEnabled="false" mouseChildren="false" + includeIn="normalWithPrompt,disabledWithPrompt" + includeInLayout="false" + fontFamily="openSansSemibold" + /> + +</s:Skin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/UpdaterDialogSkin.mxml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/UpdaterDialogSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/UpdaterDialogSkin.mxml new file mode 100644 index 0000000..44113b2 --- /dev/null +++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/UpdaterDialogSkin.mxml @@ -0,0 +1,211 @@ +<?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. + +--> + + +<!--- The default skin class for a Spark TitleWindow container. + + @see spark.skins.spark.TitleWindowCloseButtonSkin + @see spark.components.TitleWindow + + @langversion 3.0 + @playerversion Flash 10 + @playerversion AIR 1.5 + @productversion Flex 4 +--> +<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:fb="http://ns.adobe.com/flashbuilder/2009" blendMode="normal" mouseEnabled="false" + minWidth="76" minHeight="76" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5"> + + <fx:Metadata> + <![CDATA[ + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("spark.components.TitleWindow")] + ]]> + </fx:Metadata> + + <!-- + NOTE: this skin file contains sub-parts that may continue to react to + Style code. To remove this behavior create new copies of those skins + and remove the styles. + --> + <s:states> + <s:State name="normal" /> + <s:State name="inactive" stateGroups="inactiveGroup" /> + <s:State name="disabled" /> + <s:State name="normalWithControlBar" stateGroups="withControls" /> + <s:State name="inactiveWithControlBar" stateGroups="withControls, inactiveGroup" /> + <s:State name="disabledWithControlBar" stateGroups="withControls" /> + </s:states> + + <!--- drop shadow can't be hittable so it stays sibling of other graphics @private--> + <s:RectangularDropShadow id="dropShadow" blurX="20" blurY="20" alpha="0.32" + alpha.inactiveGroup="0.22" distance="11" distance.inactiveGroup="7" + angle="90" color="0x000000" left="0" top="0" right="0" bottom="0"/> + + <!--- drop shadow can't be hittable so all other graphics go in this group --> + <s:Group left="0" right="0" top="0" bottom="0"> + + <!--- top group mask @private--> + <s:Group left="1" top="1" right="1" bottom="1" id="topGroupMask"> + <!--- @private--> + <s:Rect id="topMaskRect" left="0" top="0" right="0" bottom="0"> + <s:fill> + <s:SolidColor alpha="0"/> + </s:fill> + </s:Rect> + </s:Group> + + <!--- bottom group mask @private--> + <s:Group left="1" top="1" right="1" bottom="1" id="bottomGroupMask" + includeIn="withControls"> + <!--- @private--> + <s:Rect id="bottomMaskRect" left="0" top="0" right="0" bottom="0"> + <s:fill> + <s:SolidColor alpha="0"/> + </s:fill> + </s:Rect> + </s:Group> + + <!--- layer 1: border @private --> + <s:Rect id="border" left="0" right="0" top="0" bottom="0" > + <s:stroke> + <!--- Defines the TitleWindowSkin class's border stroke. The default value is 1. --> + <s:SolidColorStroke id="borderStroke" weight="1" /> + </s:stroke> + </s:Rect> + + + <s:BitmapImage source="@Embed('/assets/icons/bg_logo.png')" width="100%" height="100%" scaleMode="stretch" /> + + <!-- layer 3: contents --> + <!--- Contains the vertical stack of title bar content and control bar. --> + <s:Group left="1" right="1" top="1" bottom="1" id="contents"> + <s:layout> + <s:VerticalLayout gap="0" horizontalAlign="justify" /> + </s:layout> + <!--- @private --> + <s:Group id="topGroup" mask="{topGroupMask}"> + + <!--- layer 0: title bar fill @private --> + <s:Rect id="tbFill" left="0" right="0" top="0" bottom="1"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xD2D2D2" + color.inactiveGroup="0xEAEAEA"/> + <s:GradientEntry color="0x9A9A9A" + color.inactiveGroup="0xCECECE"/> + </s:LinearGradient> + </s:fill> + </s:Rect> + + <!--- layer 1: title bar highlight @private --> + <s:Rect id="tbHilite" left="0" right="0" top="0" bottom="0"> + <s:stroke> + <s:LinearGradientStroke rotation="90" weight="1"> + <s:GradientEntry color="0xE6E6E6" /> + <s:GradientEntry color="0xFFFFFF" alpha="0.22"/> + </s:LinearGradientStroke> + </s:stroke> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xFFFFFF" alpha="0.15" /> + <s:GradientEntry color="0xFFFFFF" alpha="0.15" ratio="0.44"/> + <s:GradientEntry color="0xFFFFFF" alpha="0" ratio="0.4401"/> + </s:LinearGradient> + </s:fill> + </s:Rect> + + <!--- layer 2: title bar divider @private --> + <s:Rect id="tbDiv" left="0" right="0" height="1" bottom="0"> + <s:fill> + <s:SolidColor color="0x000000" alpha="0.75" /> + </s:fill> + </s:Rect> + + <!-- layer 3: text --> + <!--- @copy spark.components.Panel#titleDisplay --> + <s:Label id="titleDisplay" maxDisplayedLines="1" + left="9" right="36" top="1" bottom="0" minHeight="30" + verticalAlign="middle" fontWeight="bold" /> + + <!-- layer 4: moveArea --> + <!--- @copy spark.components.TitleWindow#moveArea --> + <s:Group id="moveArea" left="0" right="0" top="0" bottom="0" /> + + <!--- @copy spark.components.TitleWindow#closeButton --> + <s:Button id="closeButton" skinClass="spark.skins.spark.TitleWindowCloseButtonSkin" + width="15" height="15" right="7" top="7" /> + </s:Group> + + <!-- + Note: setting the minimum size to 0 here so that changes to the host component's + size will not be thwarted by this skin part's minimum size. This is a compromise, + more about it here: http://bugs.adobe.com/jira/browse/SDK-21143 + --> + <!--- @copy spark.components.SkinnableContainer#contentGroup --> + <s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0"> + </s:Group> + + <!--- @private --> + <s:Group id="bottomGroup" minWidth="0" minHeight="0" + includeIn="withControls"> + + <s:Group left="0" right="0" top="0" bottom="0" mask="{bottomGroupMask}"> + + <!-- layer 0: control bar divider line --> + <s:Rect left="0" right="0" top="0" height="1" alpha="0.22"> + <s:fill> + <s:SolidColor color="0x000000" /> + </s:fill> + </s:Rect> + + <!-- layer 1: control bar highlight --> + <s:Rect left="0" right="0" top="1" bottom="0"> + <s:stroke> + <s:LinearGradientStroke rotation="90" weight="1"> + <s:GradientEntry color="0xFFFFFF" /> + <s:GradientEntry color="0xD8D8D8" /> + </s:LinearGradientStroke> + </s:stroke> + </s:Rect> + + <!-- layer 2: control bar fill --> + <s:Rect left="1" right="1" top="2" bottom="1"> + <s:fill> + <s:LinearGradient rotation="90"> + <s:GradientEntry color="0xEDEDED"/> + <s:GradientEntry color="0xCDCDCD"/> + </s:LinearGradient> + </s:fill> + </s:Rect> + </s:Group> + + <!--- @copy spark.components.Panel#controlBarGroup --> + <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0"> + <s:layout> + <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" /> + </s:layout> + </s:Group> + </s:Group> + </s:Group> + </s:Group> +</s:SparkSkin> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/.actionScriptProperties ---------------------------------------------------------------------- diff --git a/installer/.actionScriptProperties b/installer/.actionScriptProperties deleted file mode 100644 index 4c6a7a0..0000000 --- a/installer/.actionScriptProperties +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - 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. - ---> -<actionScriptProperties analytics="false" mainApplicationPath="InstallApacheFlex.mxml" projectUUID="151f0ac8-8811-45cd-b935-d7c2b0949fa3" version="11"> - <compiler additionalCompilerArguments="" autoRSLOrdering="true" copyDependentFiles="true" flexSDK="Apache Flex 4.10.0 FP 11.8 AIR 3.8 en_US" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin-debug" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" useFlashSDK="false" verifyDigests="true" warn="true"> - <compilerSourcePath> - <compilerSourcePathEntry kind="1" linkType="1" path="${APACHE_FLEX_UTILITIES_ROOT}/common/src"/> - </compilerSourcePath> - <libraryPath defaultLinkType="0"> - <libraryPathEntry kind="4" path=""> - <excludedEntries> - <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flex.swc" useDefaultLinkType="false"/> - <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/core.swc" useDefaultLinkType="false"/> - </excludedEntries> - </libraryPathEntry> - <libraryPathEntry kind="1" linkType="1" path="libs"/> - <libraryPathEntry kind="3" linkType="1" path="/common/bin/common.swc" useDefaultLinkType="false"/> - <libraryPathEntry kind="3" linkType="1" path="/ant_on_air/bin/ant_on_air.swc" useDefaultLinkType="false"/> - </libraryPath> - <sourceAttachmentPath/> - </compiler> - <applications> - <application path="InstallApacheFlex.mxml"> - <airExcludes/> - </application> - </applications> - <modules/> - <workers/> - <buildCSSFiles/> - <flashCatalyst validateFlashCatalystCompatibility="false"/> - <buildTargets> - <buildTarget buildTargetName="default" platformId="default"> - <airSettings airCertificatePath="C:/p/documents/certificates/installapacheflex_self.p12" airTimestamp="true" anePathSet="true" version="1"> - <airExcludes/> - <anePaths/> - <newLaunchParams/> - <modifiedLaunchParams/> - <newPackagingParams/> - <modifiedPackagingParams/> - </airSettings> - <actionScriptSettings version="1"/> - </buildTarget> - </buildTargets> -</actionScriptProperties> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/.flexProperties ---------------------------------------------------------------------- diff --git a/installer/.flexProperties b/installer/.flexProperties deleted file mode 100644 index 1d99468..0000000 --- a/installer/.flexProperties +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - 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. - ---> -<flexProperties enableServiceManager="false" flexServerFeatures="0" flexServerType="0" toolCompile="true" useServerFlexSDK="false" version="2"/> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/.project ---------------------------------------------------------------------- diff --git a/installer/.project b/installer/.project deleted file mode 100644 index 0bb8906..0000000 --- a/installer/.project +++ /dev/null @@ -1,42 +0,0 @@ -<?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. - ---> -<projectDescription> - <name>installer</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>com.adobe.flexbuilder.project.flexbuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>com.adobe.flexbuilder.project.apollobuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>com.adobe.flexbuilder.project.apollonature</nature> - <nature>com.adobe.flexbuilder.project.flexnature</nature> - <nature>com.adobe.flexbuilder.project.actionscriptnature</nature> - </natures> -</projectDescription> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/.settings/org.eclipse.core.resources.prefs ---------------------------------------------------------------------- diff --git a/installer/.settings/org.eclipse.core.resources.prefs b/installer/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 83c8af1..0000000 --- a/installer/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Thu May 17 15:49:27 PDT 2012 -eclipse.preferences.version=1 -encoding/<project>=utf-8 http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/ApproveInstaller.xml ---------------------------------------------------------------------- diff --git a/installer/ApproveInstaller.xml b/installer/ApproveInstaller.xml deleted file mode 100644 index eb3091f..0000000 --- a/installer/ApproveInstaller.xml +++ /dev/null @@ -1,367 +0,0 @@ -<?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. - ---> - -<project name="ApproveApacheFlexInstaller" default="main" basedir="."> - - - <!-- Required for OSX 10.6 / Snow Leopard Performance. --> - <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only --> - <!-- local.d32 is set/used in build.properties so this needs to be done first. --> - <condition property="local.d32" value="-d32"> - <and> - <os family="windows"/> - <equals arg1="${sun.arch.data.model}" arg2="64"/> - <equals arg1="${os.arch}" arg2="x86_64"/> - <equals arg1="${ant.java.version}" arg2="1.6"/> - </and> - </condition> - - <condition property="isMac" value="mac"> - <os family="mac" /> - </condition> - <condition property="isWindows" value="windows"> - <os family="windows" /> - </condition> - <condition property="isLinux" value="linux"> - <and> - <os family="unix" /> - <not> - <isset property="isMac" /> - </not> - </and> - </condition> - <condition property="package.suffix" value="zip"> - <os family="windows" /> - </condition> - <property name="package.suffix" value="tar.gz" /> - - <property name="rat.report" value="${basedir}/rat-report.txt"/> - <property name="apache.rat.jar" value="apache-rat-0.8.jar" /> - <property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.8.jar" /> - <property name="apache.rat.url" value="http://people.apache.org/~aharui/rat" /> - - <property name="mac.text.display" value="cat" /> - <property name="win.text.display" value="type" /> - <property name="linux.text.display" value="cat" /> - - <property file="${basedir}/approveinstaller.properties"/> - <property environment="env"/> - - <property name="build.target" value="main" /> - - <condition property="do.copy.downloads" > - <isset property="download.cache.dir" /> - </condition> - - <fail message="The ANT_HOME environment variable is not set." - unless="env.ANT_HOME"/> - - <available file="${env.FLEX_HOME}" - type="dir" - property="FLEX_HOME" value="${env.FLEX_HOME}" /> - - <fail message="The FLEX_HOME property is not set in environment or command-line." - unless="FLEX_HOME"/> - - <available file="${env.AIR_HOME}" - type="dir" - property="AIR_HOME" value="${env.AIR_HOME}" /> - - <fail message="The AIR_HOME property is not set in environment or command-line." - unless="AIR_HOME"/> - - <available file="${env.ANT_HOME}/lib/${apache.rat.jar}" - type="file" - property="apache.rat.found"/> - <available file="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" - type="file" - property="apache.rat.tasks.found"/> - - <fail message="The release version is not set. Specify -Drelease.version=<release version (e.g. 3.1, 3.2, etc)>" - unless="release.version"/> - - <fail message="The release candidate number is not set. Specify -Drc=<rc number (e.g. 1, 2, 3, etc)>" - unless="rc"/> - - <property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/flex/installer/${release.version}/rc${rc}" /> - <property name="package.url.name" value="apache-flex-sdk-installer-${release.version}.0-src" /> - - <condition property="zip.compressed"> - <equals arg1="zip" arg2="${package.suffix}" /> - </condition> - - <target name="display-text-mac" if="isMac"> - <echo>========================= Begin ${file} ==============================</echo> - <exec executable="${mac.text.display}" > - <arg value="${file}" /> - </exec> - <echo>========================= End ${file} ==============================</echo> - </target> - <target name="display-text-win" if="isWindows"> - <pathconvert targetos="windows" property="winfile"> - <path path="${file}" /> - </pathconvert> - <echo>========================= Begin ${winfile} ==============================</echo> - <exec executable="cmd.exe" > - <arg value="/c" /> - <arg value="${win.text.display}" /> - <arg value="${winfile}" /> - </exec> - <echo>========================= End ${winfile} ==============================</echo> - </target> - <target name="display-text-linux" if="isLinux"> - <echo>========================= Begin ${file} ==============================</echo> - <exec executable="${linux.text.display}" > - <arg value="${file}" /> - </exec> - <echo>========================= End ${file} ==============================</echo> - </target> - - <target name="install-rat" depends="install-rat.jar,install-rat.tasks.jar" /> - <target name="install-rat.jar" unless="apache.rat.found"> - <get src="${apache.rat.url}/${apache.rat.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.jar}" /> - </target> - <target name="install-rat.tasks.jar" unless="apache.rat.tasks.found"> - <get src="${apache.rat.url}/${apache.rat.tasks.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" /> - </target> - - <target name="rat-taskdef" description="Rat taskdef"> - <typedef resource="org/apache/rat/anttasks/antlib.xml" - uri="antlib:org.apache.rat.anttasks" - classpathref="anttask.classpath"/> - </target> - - <target name="main" depends="install-rat,download,check-sigs,uncompress,rat-check,check-notices,build,approve" description="Perform required release approval steps"> - </target> - - <target name="main-no-download" depends="install-rat,check-sigs,uncompress,rat-check,check-notices,build,approve" description="Perform required release approval steps"> - </target> - - <target name="test" > - <echo>${rat.report}.bin.txt</echo> - <replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/> - </target> - - <target name="display-text" > - <antcall target="display-text-mac" /> - <antcall target="display-text-win" /> - <antcall target="display-text-linux" /> - </target> - - <target name="display-text-test" > - <antcall target="display-text" > - <param name="file" value="${basedir}/rat-report.txt" /> - </antcall> - </target> - - <target name="download" description="download the release package"> - <get src="${package.url.path}/${package.url.name}.${package.suffix}" - dest="${basedir}/${package.url.name}.${package.suffix}" /> - <get src="${package.url.path}/${package.url.name}.${package.suffix}.md5" - dest="${basedir}/${package.url.name}.${package.suffix}.md5" /> - <get src="${package.url.path}/${package.url.name}.${package.suffix}.asc" - dest="${basedir}/${package.url.name}.${package.suffix}.asc" /> - </target> - - <target name="check-sigs" description="check md5 and gpg sigs"> - <replace file="${basedir}/${package.url.name}.${package.suffix}.md5" - token=" " /> - <checksum file="${basedir}/${package.url.name}.${package.suffix}" algorithm="md5" verifyproperty="md5.ok" /> - <condition property="MD5Invalid"> - <not> - <equals arg1="${md5.ok}" arg2="true" /> - </not> - </condition> - <fail message="MD5 checksum did not match" if="MD5Invalid" /> - <exec executable="gpg" failonerror="true"> - <arg value="--verify" /> - <arg value="${basedir}/${package.url.name}.${package.suffix}.asc" /> - <arg value="${basedir}/${package.url.name}.${package.suffix}" /> - </exec> - </target> - - <target name="uncompress" depends="pre-clean, untar-file, unzip-file" /> - - <target name="pre-clean" description="remove old uncompressed package" > - <delete dir="${basedir}/${package.url.name}" failonerror="false" /> - </target> - - <target name="untar-file" unless="zip.compressed" description="Untars zipFile"> - <untar src="${basedir}/${package.url.name}.${package.suffix}" - dest="${basedir}/${package.url.name}" compression="gzip"/> - </target> - - <target name="unzip-file" if="zip.compressed" description="Unzips zipFile"> - <unzip src="${basedir}/${package.url.name}.${package.suffix}" - dest="${basedir}/${package.url.name}"/> - </target> - - <target name="rat-check" > - - <echo message="Checking files at ${basedir}/${package.url.name}, report is ${rat.report}"/> - - <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" - reportFile="${rat.report}"> - <fileset dir="${basedir}/${package.url.name}"> - <!-- exclude media (png, gif, jpg, mp3, flv) --> - <exclude name="**/*.png"/> - <exclude name="**/*.gif"/> - <exclude name="**/*.jpg"/> - <exclude name="**/*.mp3"/> - <exclude name="**/*.flv"/> - <exclude name="installer/build.number"/> - </fileset> - </rat:report> - <antcall target="display-text" > - <param name="file" value="${rat.report}" /> - </antcall> - <input - message="Check that there are no unknown or unapproved licenses or archives. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="rat.license.ok"/> - <echo>filtering out AL files to make it easier to see binary files</echo> - <copy file="${rat.report}" tofile="${rat.report}.bin.txt" /> - <replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/> - <antcall target="display-text" > - <param name="file" value="${rat.report}.bin.txt" /> - </antcall> - <input - message="Check that there are no unexpected binaries. Is it ok?" - validargs="y,n" - defaultvalue="n" - addproperty="rat.binaries.ok"/> - </target> - - <target name="check-notices" description="open each notice file for review, grep for a few things" > - <fail message="README not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/README" /> - </not> - </condition> - </fail> - <fail message="RELEASE_NOTES not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/RELEASE_NOTES" /> - </not> - </condition> - </fail> - <fail message="NOTICE not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/NOTICE" /> - </not> - </condition> - </fail> - <fail message="LICENSE not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/LICENSE" /> - </not> - </condition> - </fail> - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/README" /> - </antcall> - <input - message="Check the README for version numbers, spelling, grammar, accuracy. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="readme.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/RELEASE_NOTES" /> - </antcall> - <input - message="Check the RELEASE_NOTES for copyright years, spelling, grammar, accuracy. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="releasenotes.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/NOTICE" /> - </antcall> - <input - message="Check the NOTICE for required notices from third-parties. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="notice.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/LICENSE" /> - </antcall> - <input - message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="license.ok"/> - </target> - - <target name="build" depends="copy.downloads"> - <input - message="The final step is to run the build and any tests the build script runs. This can take several minutes. Press y to start the build." - validargs="y" - defaultvalue="y" /> - <ant dir="${basedir}/${package.url.name}/ant_on_air" target="main" /> - <ant dir="${basedir}/${package.url.name}/installer" target="build" /> - </target> - - <target name="copy.downloads" if="${do.copy.downloads}" description="instead of actually downloading all of the dependencies, you can save lots of time by just copying from some other folder in some other SDK."> - <echo>Copying downloads</echo> - <copy todir="${basedir}/${package.url.name}/in" > - <fileset dir="${download.cache.dir}" /> - </copy> - </target> - - <target name="approve" > - <condition property="vote" value="+1"> - <and> - <equals arg1="${rat.license.ok}" arg2="y" /> - <equals arg1="${rat.binaries.ok}" arg2="y" /> - <equals arg1="${readme.ok}" arg2="y" /> - <equals arg1="${releasenotes.ok}" arg2="y" /> - <equals arg1="${notice.ok}" arg2="y" /> - <equals arg1="${license.ok}" arg2="y" /> - </and> - </condition> - <property name="vote" value="-1" /> - <echo> -${vote} -Package ${package.url.path}/${package.url.name}.${package.suffix} -Java ${ant.java.version} -OS: ${os.name} ${os.arch} ${os.version} -Source kit signatures match: y -Source kit builds: y -README is ok: ${readme.ok} -RELEASE_NOTES is ok: ${releasenotes.ok} -NOTICE is ok: ${notice.ok} -LICENSE is ok: ${license.ok} -No unapproved licenses or archives: ${rat.license.ok} -No unapproved binaries: ${rat.binaries.ok} - </echo> - <fail> - <condition> - <equals arg1="-1" arg2="${vote}"/> - </condition> - </fail> - </target> -</project> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/LICENSE ---------------------------------------------------------------------- diff --git a/installer/LICENSE b/installer/LICENSE deleted file mode 100644 index 9590971..0000000 --- a/installer/LICENSE +++ /dev/null @@ -1,219 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -APACHE FLEX SUBCOMPONENTS: - -The Apache Flex Installer includes a number of subcomponents with -separate copyright notices and license terms. Your use of the source -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -The Open-Sans font is available under Apache License 2.0. For details -see common/src/assets/fonts/open-sans/ - -The NativeApplicationUpdater is available under Apache License 2.0. -For details see installer/src/com/riaspace/ - - - http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/NOTICE ---------------------------------------------------------------------- diff --git a/installer/NOTICE b/installer/NOTICE deleted file mode 100644 index 7fb7480..0000000 --- a/installer/NOTICE +++ /dev/null @@ -1,10 +0,0 @@ -Apache Flex -Copyright 2015 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -The org.apache.flex.crypto.MD5Stream.as file was originally -the com.adobe.crypto.MD5Stream.as file available on code.google.com -and Copyright Adobe Systems Inc. It was almost completely -re-written by inlining most functions to improve performance. http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/README ---------------------------------------------------------------------- diff --git a/installer/README b/installer/README deleted file mode 100644 index fdba7a0..0000000 --- a/installer/README +++ /dev/null @@ -1,204 +0,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. - ---> - -========================================================================================== -Overview: -========================================================================================== - -- The Apache Flex SDK Installer AIR application provides an easy installation of the - Apache Flex SDK and all its dependencies. This will make it suitable for working with - IDEs such as Adobe Flash Builder, FDT, IntelliJ IDEA, FlashDevelop, etc. - When installing an Apache Flex SDK, the application downloads the following - dependencies: - - The AIR sdk (Windows vs. Mac) based on the current platform - - Adobe Flash Player playerglobal.swc - - SWFObject - - Open Source Media Framework (OSMF) - - Optionally, the application will download these files if the user explicitly agrees to - the licensing terms: - - Adobe embedded font support - - Other release packages may download different dependencies. - -- The Apache Flex SDK Installer 3.0 and later supports the ability to install - virtually anything that can be installed via an Apache Ant script. The list - of choices to install are described in - installer/src/installer/sdk-installer-config-4.0.xml and posted to - http://flex.apache.org/installer/sdk-installer-config-4.0.xml. By default, the - installer looks there to determine the list of choices. Once a selection is made, - the installer then looks in the folder of the install package for a -config.xml file - and if found, uses that to determine the set of licensing options that need to be - accepted before installing. The installer then uncompresses the install package and - looks for installer.xml and runs that script via an approximation of Apache Ant that - has been written in ActionScript. If the -config.xml file is not found, the Installer - assumes it is installing an older version of the Apache Flex SDK. - -- When installing an older version of the Apache Flex SDK, the installer - determines the file names and urls of the downloaded files from - installer/src/installer/sdk-installer-config-4.0.xml. When the dependencies file - names or urls change in future, update the sdk-installer-config-4.0.xml to ensure - that the application works correctly. For newer installs driven by Apache Ant - scripts, the file names and urls are determined by the script itself. - -- The application uses http://flex.apache.org/single-mirror-url.cgi to determine - the preferred mirror url to use to download the binary package. Newer installs - that use Apache Ant scripts use their own logic to select dependencies from mirrors. - -- Once the binary package is downloaded, a MD5 hash is generated for it. - This hash is compared with the hash from the Apache Flex SDK release site. - If they match, we verify that the downloaded binary package is a valid Apache release and - proceed to unzip the file. - -- If required, the Adobe AIR SDK will be downloaded and the relevant files are copied - to the required locations. - -- If required, the Adobe Flash Player playerglobal.swc file and the config files - are placed in the required locations. - -- Then the rest of the external dependencies and the optional files (if selected by user) - are downloaded and copied into the appropriate locations. - -- If you experience problems with the install, please try again, but right-click - and select "Verbose Logging" to add more information to the log. - -- From the 2.6 version, you can select the version of Adobe Flash Player and Adobe AIR SDK - the installer downloads. - -- From the 2.5 version, by default, Apache Flex SDK Installer 2.5 downloads Adobe Flash - Player 11.1 and Adobe AIR SDK 3.4. - If you want to change it to any other supported combination, you save a copy of the - config file found at: http://flex.apache.org/installer/sdk-installer-config-3.0.xml, - modify the download urls to point to the required versions. Then run the app from - command line mode with the optional command line parameter: -config=<path to config file> - -- If building the app for Linux, open InstallApacheFlex-app.xml and change the Adobe AIR - namespace from http://ns.adobe.com/air/application/4.0 to - http://ns.adobe.com/air/application/2.6 This is because AIR 2.6 is the latest available - version on Linux. - -========================================================================================== -How to build the installer using ANT (no Flash Builder or any other IDE required): -========================================================================================== - -0. Make sure you have the right version of the Adobe AIR SDK. Apache Flex Installer - 3.1 uses Adobe AIR SDK 4.0. If you want to use an older version of the AIR SDK, - you will have to change the namespace in the following files: - installer/src/InstallApacheFlex-app.xml - ant_on_air/tests/AntOnAIR-app.xml. - -1. Unzip the source distribution. You should see the 'installer' directory and the - 'common' and 'ant_on_air' directories in the root. - -2. In the ant_on_air directory, run: - ant [-DFLEX_HOME=/path/to/apache/flex/sdk] [-DAIR_HOME=/path/to/air/sdk] - - FLEX_HOME is the absolute path to the Apache Flex SDK - If you omit this argument, and the system environment variable, FLEX_HOME exists, - it is used. Otherwise, the FLEX_HOME_MAC or FLEX_HOME_WIN property in - installer/build.properties is used. - - AIR_HOME is the absolute path to the Adobe AIR SDK - If you omit this argument, and the system environment variable, AIR_HOME exists, - it is used. Otherwise, the AIR_HOME_MAC or AIR_HOME_WIN property in - installer/build.properties is used. - -3. In the installer directory, run: - ant build [-DFLEX_HOME=/path/to/apache/flex/sdk] [-DAIR_HOME=/path/to/air/sdk] - -4. The installer executable file created in the installer/release directory. If you are - on Windows, you will see an .exe file; if you are on Mac OS, you will see a .dmg file. - A temporary digital signing certificate - temp.p12 will be created in the installer - directory as well. The password for this file is available in the build.properties - file (var: TEMP_PASS_CHANGE_THIS) - -========================================================================================== -How to set up the project for working with Adobe Flash Builder 4.7: -========================================================================================== - -1. Unzip the source distribution. You should see the 'installer' directory and the - 'common' and 'ant_on_air' directories in the root. - -2. In the installer directory run: - ant get-as3commons.swc - ant get-as3httpdclient.swc - These step downloads the required libraries and saves it in the libs directory. - -3. If using Adobe Flash Builder, add a linked resource called: - APACHE_FLEX_UTILITIES_ROOT - and point it to the directory path where the 'installer' and 'common' directories are - located. - -4. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/common/src as a source path. - -5. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/ant_on_air/src as a source path. - -6. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/ant_on_air/external as a source path. - -7. In the installer project, add ${APACHE_FLEX_UTILITIES_ROOT}/ant_on_air/locale/{locale} as a source path. - -========================================================================================== -How to set up the project for working with JetBrains IDEA 12+ -========================================================================================== - -1. Setup a new project by either unzipping the downloaded source or grabbing the source from the version control. - -2. During the project setup, DO NOT search for modules or frameworks. We will set these up later. - -3. Setup a new module by going to the File -> New Module menu. - Module Type : Flash - Target Platform : Desktop - Output Type : Application - Create Sample App : Unchecked - Create HTML Wrapper : Unchecked - - Create the new module, name it "installer" and chose the ${APACHE_FLEX_UTILITIES_ROOT}/installer directory - -4. After the module is created, go into the installer module settings (Right-Click -> Open Module Settings) - -5. Add the following Content Roots : - flex-utilities\ant_on_air - flex-utilities\common - -6. Mark the following directories as Sources : (some may already be marked as src) - flex-utilities\ant_on_air\src - flex-utilities\ant_on_air\external - flex-utilities\common\src - flex-utilities\installer\src - -7. Close the Settings dialog - -8. Open the Ant Build tab within IDEA. - Add the flex-utilities\build.xml ANT build script. - -9. Run the get-as3commons.swc and get-as3httpdclient.swc ant target. This will download the required SWC to build the installer. - -10. Return to the module properties, and go to the dependencies tab. Make sure the following are listed : - Flex SDK - flex-utilities\installer\libs - flex-utilities\installer\common\bin\common.swc - flex-utilities\installer\ant_on_air\bin\ant_on_air.swc - flex-utilities\ant_on_air\external\libs\as3commons-zip-1.0.0-alpha.1.swc - -11. Apply and close the dialog box. - -12. Update the flex-utilities\installer\build.properties to match your settings. In theory you should only - have to update the FLEX_HOME_WIN or FLEX_HOME_MAC property to point to your SDK with AIR 4.0 overlaid. - -You should now be able to build and debug the installer.
