From 07b7f9bb6ad25894e221bb2cadfe551c06ea98b5 Mon Sep 17 00:00:00 2001 From: purplefox Date: Thu, 28 Feb 2013 12:19:12 +0000 Subject: [PATCH] ported to 2.0 --- .gitignore | 17 +- build.gradle | 160 ++++++++--------- gradle.properties | 13 +- gradle/wrapper/gradle-wrapper.jar | Bin 39860 -> 46735 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- mk | 164 ------------------ src/examples/java/simpleform/run_example.sh | 0 src/examples/java/simpleupload/run_example.sh | 0 src/main/conf/mod.json | 2 - .../org/vertx/mods/formupload/Attribute.java | 4 +- .../org/vertx/mods/formupload/Upload.java | 2 +- src/main/javascript/vertx-formupload.js | 7 - wmk.bat | 90 ---------- 13 files changed, 104 insertions(+), 359 deletions(-) delete mode 100755 mk mode change 100755 => 100644 src/examples/java/simpleform/run_example.sh mode change 100755 => 100644 src/examples/java/simpleupload/run_example.sh delete mode 100644 src/main/conf/mod.json delete mode 100644 src/main/javascript/vertx-formupload.js delete mode 100644 wmk.bat diff --git a/.gitignore b/.gitignore index c38f6a7..3df8799 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,22 @@ -.classpath +.DS_Store .gradle .idea +.classpath .project .settings -module.iml +.yardoc +.yardopts bin build +target out +*.iml +*.ipr +*.iws +test-output +Scratch.java +ScratchTest.java +test-results +test-tmp +*.class +mods diff --git a/build.gradle b/build.gradle index d9e20eb..ca36b69 100644 --- a/build.gradle +++ b/build.gradle @@ -1,107 +1,99 @@ +apply from: "gradle/vertx.gradle" + /* - * Copyright 2012 the original author or authors. - * - * 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. - */ +Usage: -apply plugin: 'java' +./gradlew task_name -defaultTasks = ['assemble'] +(or gradlew.bat task_name if you have the misfortune to have to use Windows) -sourceCompatibility = '1.7' -targetCompatibility = '1.7' +If no task name is specified then the default task 'assemble' is run -jar.enabled = false // We don't produce a jar +Task names are: -configurations { - provided -} +idea - generate a skeleton IntelliJ IDEA project -repositories { - maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } - mavenCentral() -} +eclipse - generate a skeleton Eclipse IDE project -dependencies { - provided "org.vert-x:vertx-core:$vertxVersion" - provided "org.vert-x:vertx-platform:$vertxVersion" +assemble - builds the outputs, by default this is the module zip file. It can also include a jar file if produceJar + in gradle.properties is set to true. Outputs are created in build/libs. + if pullInDeps in gradle.properties is set to 'true' then the modules dependencies will be + automatically pulled into a nested mods directory inside the module during the build - testCompile "org.vert-x:vertx-lang-java:$vertxVersion" - testCompile "org.vert-x:vertx-lang-rhino:$vertxVersion" - testCompile( "org.vert-x:vertx-testframework:$vertxVersion" ) { - transitive = false - } - testCompile "org.mozilla:rhino:$rhinoVersion" - testCompile "junit:junit:$junitVersion" -} +copyMod - builds and copies the module to the local 'mods' directory so you can execute vertx runmod (etc) + directly from the command line -sourceSets { - main { - compileClasspath = compileClasspath + configurations.provided - } -} +modZip - creates the module zip into build/libs -task copyMod( type:Copy, dependsOn: 'classes' ) { - into "build/mod/$modulename-v$version" - from 'build/classes/main' - from 'src/main/conf' - into( 'lib' ) { - from configurations.compile - } -} +clean - cleans everything up -// Package into build/libs/mod.zip -task dist( type: Zip, dependsOn: 'copyMod' ) { - group = 'vert.x' - description = "Assembles a vert.x module in 'mod.zip' format" - destinationDir = project.file('build/libs') - archiveName = 'mod.zip' - from project.file("build/mod") -} +test - runs the tests. An nice html test report is created in build/reports/tests (index.html) +runMod - runs the module. This is similar to executing vertx runmod from the command line except that it does + not use the version of Vert.x installed and on the PATH to run it. Instead it uses the version of Vert.x + that the module was compiled and tested against. -task prepareVertxTest(type: Sync, dependsOn: 'copyMod' ) { - from 'build/mod' - into 'build/tmp/mod-test' -} +pullInDeps - pulls in all dependencies of the module into a nested module directory -test { - // Can't have the app on the vert.x classpath - classpath = files( classpath.findAll { - !( it.toString() ==~ /.+build\/(classes|resources)\/main$/ ) - } ) +uploadArchives - upload the module zip file (and jar if one has been created) to Nexus. You will need to + configure sonatypeUsername and sonatypePassword in ~/.gradle/gradle.properties. - // Some vert.x properties - systemProperty 'vertx.test.timeout', 15 - systemProperty 'vertx.mods', "$projectDir/build/tmp/mod-test" - systemProperty 'vertx.version', "$project.version" +install - install any jars produced to the local Maven repository (.m2) - // Show output - testLogging.showStandardStreams = true + */ - // No idea why we need to depend on testClasses... - dependsOn << [ 'testClasses', 'copyMod', 'prepareVertxTest' ] +dependencies { + /* + Add your module jar dependencies here + E.g. + compile "com.foo:foo-lib:1.0.1" - for compile time deps - this will end up in your module too! + testCompile "com.foo:foo-lib:1.0.1" - for test time deps + provided "com.foo:foo-lib:1.0.1" - if you DON'T want it to be packaged in the module zip + */ + compile "io.netty:netty:$nettyVersion" } +test { + /* Configure which tests are included + include 'org/foo/**' + exclude 'org/boo/**' + */ -task collectDeps(type: Copy) { - group = 'vert.x' - description = 'conveniently collect dependencies for other IDEs' - destinationDir = file("build/deps") - into("compile") { - from configurations.compile - } - into("test") { - from configurations.testCompile +} + +/* +If you're uploading stuff to Maven, Gradle needs to generate a POM. +Please edit the details below. + */ +def configurePom(def pom) { + pom.project { + description 'Form Upload Module for Vert.x' + inceptionYear '2012' + packaging 'zip' + url 'https://github.com/vert-x/mod-form-upload' + + developers { + developer { + id 'purplefox' + name 'Tim Fox' + // email 'developer email' + } + } + + scm { + url 'https://github.com/vert-x/mod-form-upload.git' + } + + licenses { + license { + name 'The Apache Software License, Version 2.0' + url 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution 'repo' + } + } + + properties { + setProperty('project.build.sourceEncoding', 'UTF8') + } } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 400b633..207b7ab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,10 @@ -modulename=vertx.formupload -version=1.0 -gradleVersion=1.1 -vertxVersion=1.2.1.final +# Set to true if you want module dependencies to be pulled in and nested inside the module itself +pullInDeps=false +# Set to true if you want the build to output a jar as well as a module zip file +produceJar=false + +gradleVersion=1.4 +vertxVersion=2.0.0-SNAPSHOT +toolsVersion=1.0.0-SNAPSHOT junitVersion=4.10 -rhinoVersion=1.7R4 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e3b3376e6002f9d44543761c8d3dcd199eff1d82..42d9b0e9c5872910311a1d035995ab8ec466e7ac 100644 GIT binary patch delta 41933 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 Nh=+jCU3~rR{{bS(PUrvt literal 39860 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%0A3!wsG4uToG`VrIW5Id|4fPyx?=aMz8G zM1;p+P_)+z{!h>QBiPy7$I+V)2eV_owRQE;8(ijG0Q6~xEbE58;Sbw$mV_0o2J24I zGhXl7?Aa#x@9zj@{)ywk5ajMrU!X3ae8ucp9-+PWgCQF6KlZNp^k#$n$F=GBA5`&P zXM%k13-Z7L_ncfGwv9Hkigh3L-6dhn%5`v(!d;8ZNhN^-PAH((8zmSyFdJM}6I9 zn+0esY;Zn)lmR2y&5Y)`(J+ZV(=@bfz|UkJ;d+FdzXO?diP7WYa`Ve^;&M=36(|fK z6LzAmcO9QpH(xwS!(C57X0E>jgTzDZz`ZdI!fhG_7jY0XosVJ1XCF@j7m9H2pnb=A zstq#Xl`X%&R=D%-hkdDH+D2h%UVUc7*QEHKqWzIkg_rZH+q3*yS5;wA6+fwPz8+ni z)6}|UAxk^Qe+fCtQ+PCYV-2I$SHiH(`-%yq0SwBbBtu4|$cOQDxqWM9>ka(h;VIhV z2dLBMWa;Iz(Ed$P@;7+;*An4>8HXgsP5v=t3X=P|GHY=WZP;kp7@|+Lr{0Vz0G%ga zA@8tDYtv6}l17oLtoBa1>uP65b^XvbZl zh4hnX=c01_xt4q(XaTX(hs4I zTNc`$VBOz0W7k2|uemQ{pMju9&tMAtnvoPFr4Q^e<;Wp+nBkeBn2HB^#9MD}EF)SuRlxS15x=YoZg6sS#3 zn1E*vKaKqMqmVu^Au7gJ(~twC-2+xG2;p|Vni%68LY6X15z!C=eiWfGdlCX-c4lgS z5!#^7aZ5#suU}!{vWaZ;aYwHcZuO)SZuPBW6GjV(uKF?>6K?gkb8qFJ+D_m_KZ$tz z!E>C~p=mPCX@!aXTn3I`#K_KS70o0wL?v7Ade79zc7J>(5G)$X}Y03bF(pwmn3_x@&?e64$dUrOP`t6;`c6 zQuGKxHH{cnBkUT&LEOgQ%;+xyb+8xHNC!&~&Ug$P6IUWb$ZhMwtv~En>F1;X&m!fN zqG;%tNB3k7FV&Mx#ICE#-__JQxNt#JQGF@m6u^=55lcoHC+0!7aowVJi0E-sVLKwe zbr><|qy1=(Z&W#s4-*lIUrtv3s9Me88=1+TXHinbc$Ec*q5h$j(S-YDy59NRiP6!2 zRkJ&FBr6FTT03bz2-tOg+c$()d;_9R;cGCv11$`a9CF7Hp9pv41!gxMjWcdfy)d8H z0?}>H{EMqKq_#C!)hS5}UY}4wviP>pweV}GwFiWOKE@Zg)MrLvI5&r|5E*P=AuCrf zn}T|dQw(k4H%5Q#xUHJyrEvN&#dGmjL%u%b#~_~ZmA#>bzMp!~<$T;Z5bWG?(*&R= z7y$6h`&1M`w5Gh|EU_9KvKkP|HV0%b2dsAUJ7H^O@X<6tViwH2z;g&NVXy2J9fVA~ zkuzC$U?uWAt|(N*JLLLh^`_?R6@gp>@%eDW0&y)T*3q!khRY}ck`AKUEzPcx`V`ot>=bbw{I*mG({rb} z_1Q44%L|R=n#)nv5kFgxX*;sKpv%9vFY5qK0?<&j(1vP)_s)9RU&)6g1H~l5AB%7d z0Gtz(RR)E{<&SM6E?T6&xSA?+%s5xhYRi~=Eb9V&x`&pLQ5yEr^P&%-h2`c^lTRiY zu$vK`k%uLZO-yVmj#0VNk}JfA&&~5(yM#>zXYX6-A94s(ILgAMk0mndDivMJT$c<+ z>a2$=qoU)|dmkV)X$Cwv%_^%7$@!?0Cc6KeQG|3&CaQoEH8w@)d@NqgGeDfZ@*~XC^yL8bV)3=kkB=y3w9@F zfx`O&@g=ZZ?2~+RhQHg+{Ft2j?#9=>#Rs&5u4zIpC=<~36&5y)WQD4iSMWv~R8WWT zpsiCZ@SWb7UC@OX*ca{XTQdB_ExD3YE9N-;o+8a95lJ6V?&?Kkk@b{xG*}gff+FZ8 zMqe-8J%Eao`x3ul`FzrvVh(vco<51S8&zVQ_lJ`0?`!{QK<-t2kHiFQzrL&lZRCIe zm}CyY4tg$9W!cvP#J-0>DjpeGBt-Bj+7WxCl~Llc4Kv?CybB>a z(FXSzSMlAUDJeWt@>*Yqq`q1swsd}-FzIFe!DZFs{q0=7BF?tw@^3>6S-|n{<G3D3Xyl#qdw$){U)G{q@UUND8cifP;duhp8L$-BD-e z%k9}d84#H{dyT`kz+egzYov$%elFy)we`BYu~D+Ttr+DPXP{vIOOpIKsgQ&^Z)Acu z3+_W9FY-qU(IY;F4#Z?}z|d)H3yLqb^2rk;PH9bIG;=`f#PWv|$B5>OI8)6{3Xne* zIf)C~Hw(&n3y(Y@z6C>csqYA4zHAtgftZ+%c7d{mTU-_xON+WFl(CVposYjgqw2|7 zAu0roLv4>a+%!RplOrDZyCNb^BDMR;ibjG0v}hmY-D;ybd((p*9k9k(;UK2bBu~PW zzfvYrM%JAu{`&Gf9$(W*-=Cf=t==xdWZ-raj-+Z<&nx9GPokOjEARp9$hJtkbBgqw z+J9JSs~c*%ZA?ou&_s7mI?ImbvEwT_j<4SXt|>v%N|H=WSKT35W+Cr>AK_bK{yr57 zXQLbWBI%KKhW2u03d}2j(I;4lZ)Z;K3e3ozDS{K~{fktvShfP^(Ql~3QEx5y3Hu8? zz)}RkA;!0wDK==V7Osb<8qPz5UAQKo>b|+=nt;jee}C0uVFygLG6GL}UQ6(wC zXdCVdTY7Q3T!J?`sO{H0Y+ZCzbmP|`8ZWt6)gcMhZ8vHD%PQ^;{Ib7d{n?ZkcKopH z#@>xEqM(N5jGs$^-lgrg<92Ppu1eHHv#Fkg{PoJrd#aTe_LpDW(Yh6`v%*;X-)P~e zo-6&gOV!CxCZ9X~`AXP@SbvA`wceQ3_UIWOSKERL$90chyP^K>;X6FlgZh;jeP=%r zxexUNFZ9`b%t48ETpW&#<8ZSuCT~yhD=8b?9r9u5YV_EeLXa}sVLe5VK1I+ww@JD-uGNGVAAXjX42)$K&>paXQD^dFK3BfpoOW;FI?hFj?%{lVF}0Hc&FNx6|5;P;M+nR!WKdO_AR&hA1t zFqo$7@?N{w{>Z?My4yR*sH2=|1QU&l#~)p^L=6fMsqNO-tYPE_Q@#vDyA5@frP&l zO!}GtgcwS%P^ImGhI%(aDfr2$>loIMzC?ygcx7(ExD z(*S>i55d$4(^KyNBIwA1IXjHSJL%iC-;7mZfm&wJ7i)yqqML;y@n`J|YB(pcJ z9wCZZ_!aX398raQsVLdJA!431z){eKH9pa}qPtHgSH4hGw@k4_GapkkZ&p!rh)v2; z*uohqQ*xxVY|flx5vi;WH_e@EM57onp{%SDt#WNhtSU!|MN`5Bb5SWkv|PO7+oq0+ zPVTIwCK0F%W@VwNYgH!+*K@?P#O_m>%_6GzCP{&1g=-ajkUv4>QfLm7l8Oe`4*YWg z1oBy3mhAEg45w25H-%r+mJ27=mWw5kX)Km#PqN`$yZ8Dfa`5$7bv2+S%2Px30T}C~burUwHN3vMj zgbgPYEECfta+`9kz?TIgoi&RT&|K~e3Y(&z;gl=(3=L*R5Q-Io6>7nym=4yg6d{^Os+_}1r9--<=Wraes}k}*()1d{5|i4*i7D_ln>;9qn)xC zAO&evhh%bruVxy=uE4|*OFq6~iIgNm&l{gor`C$xP&!VgS~}OZ6l$tqc_n#mdMHge ztt%P-wl#)4Zx(VhpvY?;6v=B#6acc@fXnQ-xH#ONogg)H=?kSO3BsmMyBP;efFo>3 zgfx0su&y_P{#{YgLf=ovQ=gv~V49d{W?Qz$Sa=yC&BWxE-%;-byea%h%S0tQs`%E> z=S=au6&KDIXT=n^U=>=mJd7T%+PY=4Tr7Oy_j=z;J7rhJ zUMrPTLM@~atf&zg$+1y#QfIQf(0S4LAey5R z{xu&|kat@R;r@1zQhZ&kfbjf*<{&47^#ITrOgYyQcv-Z>B|5d++lK4#K&1gk6Q%X;d4&2#9@wz_{UiuT(jK_gNe;xe};)Ol%wF0#}R5$!=!C0IHsx(T7)~=f{8W4qt+h>_XLZ+~B@(V$- zew0MG?4oXdEjWs%6mtm5j@uO1FL@Z69y(J!kOtdY%i$aCfT(pqRCo#N%-ATlY?a*HA(rvhBEo}>X59Xq!Nt_#XVt6(>A^Ad%K zVZaIXTr2UY_36>5k}_xE2t}=i7sBxZXK>VSb@eG3vr{}X4!H{YFu3$h-gjcVUD4tE zl?4kjGCdfa{*?)+%KM@FRzDSrJ-;jJ4J3uJRN<}D5JFM(XuS)Zp(S^)UqDAU?p(L* zGdwLIhvZ->LR>e%3Ts%f6KdH~7I44&f5V{c2wPQ)>y$s(vOW)Mk zTb?(W07tT|KSgUgC#}dpf+f9FsGG`$gvJfBPp^jvZ%f!zwwvj3?2HJudZFI^UEWC0 zx|&-?I>&>~*fwA~h8K66wPk(Pc7|-8EtRKRxutv%GO^u?H=4#%?_J>%oaZ(c!ZpON zMncl!Azea*XfqS$tvIQsfsK@5&||HZNBH~KW5S=-$;`LF%4H@bgs`|5TxsJK6;J4c_xd#3+nVjy7p zc}Vo<8pi3*9&;j%yNoFDd-PTkQYM;MpyzmN6H%8 zt3fopdkgsv4X+GL`C|b5S|MbWc!n7*l~C8!)oeN=HFNye^UDL5ACjvwxw=B^KqAKH zPOqXY#6V_{lNIFv6$L|4rh4psGstsf2r9Y%lUEu1=-DcLho-b#1bZp{rR^`nqsp(#Q`2r5mR zm1TlorDo8cC*gOjJ4FYZp`b)kv5o}ZI+Qf*vb^C6)PuvBhyI%nW?7}{ZHq_R0poc_ z*8wx`u7&AH^rDp}OPv8b;3*#SnXjSWKL5k2#mLt}vejhM1M9hCYO{*RB<*Zu&MhI( z`Vwr_upyj?a6O8--kI?Pg&=iq6_K#*24l7#*E?#7L)gL#&p|b4>`@|J)KuU7M*(w$ zFyDJG8UApI=o$An@D^^1P_R?G5FUnmxe!UYn`k1@XbYXb+a7Zxgha}lAvEH9qYg^D z6(!=;dYHk;aFBG=IVmy7O?F@|?A>m$=49iRmWX;{m$80eM|R}+ZdbTt@hq}X={Vj? z>?%RuQx24zUw=78{zDelTC?RL_?e6mpNfV5C>j6E!#}51|5_<2X?-5Iq5J}@_qjrg z(>2s;R+t<7u&sSaV&x67FeI*&z>4gGrSG*#(y41t`4qT;b*&8u=7sY0WY2@sg)(HV z8mi!zc4aUfPo&y)-A$&-@ojwvl^@&$Evn6nYb_%T?SQEsbkG^3gn|mAL^&v&Eu~movt*ju-eRb57%g-S7S}1WYY^< z%1Y4}{4Anz^~wa;!@KwAN!QW5gBL9~K9}okMtEoH(}4#O1>q4}s~`U!9BH>nXVD^ftB0WEwhiZj@jE zn!Da9d~((@*5aFPp0-NoDT+Za41p{j!u?Mohki+?*U_Y#uRLC8MIr?JPc{k(kTM8e)8eL9NVLH43909m(ZF_3LN2XOe@g1rkzWF$F9uW5YK+L5pOWOo-p^u1O zk%jQ`S+EGn2L87Z+IT;)sDG`cyjtyFtlHE9opG%O)nn1dCa;!k1+yxSscR}~VSyOZ?r#6WpZtIGTq7i zdOus{1L^=5>Lr;Nf9CI{w}q(9(MM!M^$yYMn+U0{h**arOi`-|L9q^Q@PfI)|SCd=|P%~W|_WOy#p5@4``*4Bq3 zQ+)%~FP_ZMZhfjdB)-c0cyHOChgwYnRiq-LMpLP{f9fbBN0)zStMhG$W6t8>AO|%8pyJR zV0uL$fp`gZp2|m)bv78;4BTE91w4e`=RMcm-0Gcs#^G9*J%?5~tF6i;&5E=~U8yV2 z8xAymSDkH5wo70XLKK;?R8zO-2RUT3Dt0pkGuJm&(~(=1wTB@3`OS1u)#$4Xf%h51 zKHYnrFxDwuuYF8Eqzu9IM}D_BTs2YT(=~#ApQTaYC|@ga>i2M| zz!>^{_6zAFMfcorFZcWJqG^4<}u9Y?SZjPSFHgl}Fq`c&y}?rhU^GJV;UlwjoB+FQ7->U1vB$oHJO{?8&kpkHFJNvsl>btD2!vjRS(@nDRI-_oWCB#<(IVzRF93uc&K;i^0- zE{Ov1PfLwY+(2Cem}vb6bwU%Aoe?$VT2Hj(Vkz1oK0yvKK-e)*_f8?sXaHDkL`a*z zx^09@Rx=0UH(=z_iJZ?RCw;&r?hEk*cNnch(RGfeR>hob96hf+B>38kHm;zZEf_VJ%ZEF@D{fFC%RH4 zYNHsDi@-O|BZzTsgHZwrV~%jK1Btm3;aUp#i}N0+!Ks(EE5nldo=>Y$5-G2XlmcLp z^u$!-pJ23Y?(1mVb?QA@mpZTTr1x)sKhcv}jHgxmEM~Bu#fxXsIp_YHRHfqq`?ONy5$ONxNmrMsJa<6x~@F1eR`-GVnSR1G0)^tlvM z$#jwafv@Z8W;#8Qky`(Dd=;GyguAPP=##==-yH&D+BO^R2wCs0uV3Z&^2uz?+co)R zuAskud+0LOU-g@e;XBf$CItMt5b~Y4P?wnAN{ZDqIH{6aKBj~N>$e_$uv~v^xmt5U zmE6|R$d7q1yD!u<8c{84hiQ%M$=&I)ISprXC@1K1>)4Gg-hpZ?r(%LpDPwa|xPb3b|b z+M~CWOA4T$pm*2s=7D($HPz3Rbrp76LAqiF=ShH^b@Cd26%tLaByx!h>5wB7yUiDmpwX0IAyG?yUHc<$mOUP zztZ0Dvm2=I7-HHUKHtKaDN?)CN9Ynp2PS*QDe8U8&mpX@x~Vyx^EIO_9PRQPLlWa1 z@N)P)7SVZ@6AIbLIg1}7UcHZbGs++X;>17R_|#vAbJ)b3*CA>C7wJgafbv+aAnxSW z0s*wy$>@%cnb{pVVwA2NlHJE&zUTA@+v-?>ZPfov(EU&9{~sNs{h6TxZU&Aff36Sz za*$T3tn&x&;sHqrGSQN!uvt_EwKT{LQmv&NDnPPIV>b6ED76ErXn|@sb-mdyeunnG z5kM{dp!MiXRGb$@&#)oVI~%jtOHS5V1E83RcR|RicofbdOPy za&ClNT{TxB^E8l+F(^cm8-HB8pZG~7fjS}Z-lo$s_MH`NL*8KLL9a1Iq+uca1JZr^Z# z3EsUVhMI0Sj#5y>SZLcsqcK`fIF^pcT{iv-t1!TvAt2GuY|8Ap80ZfRtL7jhpwaJQ z&6vQ$WXIzGTWbR~T=|rqPcP&hr)ApSTjR+&WzbqeymnJ~&@x(cI?6C$*SXjCoWB(s z4;<7@QRlA(qpyCmq+#lllOJ=64TXP7!VR$4vfcK&fZE#G>~iq0!`xRkT9tt5SY*T| zQ=*-v)8rlOjtTSmrT1&v!m6Gr>0-N8ajS(tZY@zXaw528ffpfsbekWS516>7{=V+m zT!k<&+gf`1D&X`S+S}6r?^kq;9bU16=+G**GHW!s7XB4AQvRk?!@3x2$uS?%^)GWd z1Vzqp=BeFx2(A7Fp!VGF{@FW9#;axivnS z8O1-b^)JiHzsnHfbfo&}Q2=tL&229%-8Y&8s(<)_vWFgK#a^)w>4|dUB@-mH&(IG$UXfxb-l``C zmQ&noZ`>OTi4v_%wrL0%afM{{Bpp;t8EC>L8LC$EX_(i!L1uDd)rjoz7`fI!UoipCej4d zRVLt^oVjSM2Jw7s|Mio^f1t;ml|h~M=i?v$B*y=dCxW1fshy*VsD-1GvyzM9ze4n9 z(>AEOu81svz!OgmLk$fIih>$BLZT)J)Qa8#L`kR?*?cmOwA7MzuGo%sgZ2)D_YPe- z2VB_Ep>bIJjF`lukpKi4nxxWYedU~e$+5{a&$R99{S1m9^~Sh1qb8T_i*a$X4>1;l zkc7xz@I?W}eqca9hKN?bpV2tNKBK&!d^jb-L3+e|z#}R!LREXGWyB#hcgdq-ohJZh z6S^od)P&lFrhITtgNN1V$g!-pDF?V`&-S+Q( zz0K`xNov{V7Qy>T{=~N77+3TWD$*8R(t90b9Ray~e8dZ4lvig$YzfeYDb+vm)qKJhoHgq&vTg({UHVn9cXGJY zwr1;VMO-pH_4aYW0@(67V0;FdH*xOAo7Ee~^#$oqDgnJ90KjLl6%OZJQDMJ~UCsjY zP$-M}ox_9LJY<>N+nf!lL(!1#M5*GK2Ra=bjOGR|5}X%UopSZ2*YLBy{m{T3?P)s< z>m|PAdY&pb6Bljb7#R)x!($im31ZWJ*a9WDHn{)^syl!TCCa+*O?1b>ze}cX2)M-H z(|s7hLQYY5`HtkLypZBLAOT8jh14=h&~A5C(B^=r1zbtXpQ1S5ZB`)eU8HZ6$hV_!MRqzxt^WS z8Um8lAC>h8gyhpjf6pS1F7_a(W5rgt5kbwHPbDu{6!#tpC8a2$?Zm}JGR^@&?Co-Z z%MY=airRxPkWT3*acfTG5o*jeN--K>5=RyHj{NVyIj%mE`iG$FkGjwCPvHFfN5uaR zAdUSOkUnZOpKfFzrwVpx1vQ3*p!xb)yA#}jP_|FE8AUe8NYo4bPSl0`6HUuH%Y-Hd zIY!fuCpjc|dAGN|>;N@c%Ku3EVgteobE0fe52XW~sD$h2BAc_qMg}S=#2^Gb$pC+2 ziYu+KRbN`2m=yd|HVmRr(w1mYL_BAnZCK8_*E%~W>wP8;)3$&Sqoe&~zL&%&YmN`Ev46w0q4(|8#ud%L( z?5^^&ctN5X8kD#tp2D6itwlZ!+~IJd0&$mFV59yoPRumG!GfMmWUCWm>kq9T*}4$e zhuUcK>Jmp~-99zoCLbK9i(O}2U+`2Y5QlmhChLp@t@)POL+dJ=lTaP zOH`7P`#h2KIb&ZPNZFeK-s37ni4&|nVL=5ajEN!SmmK`DPO4ET`bevpF8LwXd9PT2 z`wH@!Up7S=L`tj}NaDrK#dOt~TKoM|Q4QTgP=l38O*Ap9^>9 z3au-(of^d*d47O4TnASnj)yIxx&9Ww6V=S?y5n@tc+MwATl%qmE%GMn$_Rj;&Zg>L zx?d6<`8sd16FS0~eX&F}kFWvdGYGa4-d}q$FE4da8D9uV^!pNb%56o%>z;Z=D9O!Y z{QAwL-WZ%D9dt)Mr}Je4zGXWLC9&iL?C47!UF}RXE$=POlTTZ=VN%8SiV)ZjtKW-Iy0JQh;W^KLqdZX5`n$uQZ>`CvP2>MCi27$L{MVrV ze<`;%pB6+2zD+dP+VGkP2rQPBsHa%N;SlQll88q9^rdM#%~tJ80ghsqRkv90Y$@jQ z5)s?d?-aiv_Nl=Yt;bP?_L4KxQ_YS|K5f9hzrWt1_MqdAo`@F2CuuPXhKz*lxgs!Z z#L^S*R?Q5Uh=2Yh#m6B86A6rz`%(fS0j|f9w!@+rdF4eas^dwjW%iBgvx^z6os}4c zDw{jg%;QI@fSLNXT&_Eq=-|%X??iBeg_zo;zv2jDn4~fYh(WCuFMyk~tb(8<+N6oD z%#-T7_D_lk4B~Q!KU^>3=Lk}62k2W8%gvi6Z2)Th<>_l$GL`0{8k1Z}wh2rRaV=)| zwVY}gkWUyrH7*3LUSjmF?!1m$6`CSl72!-6B|?#(rS*O<&Y#}%|4qe5bH=fr7IrS9 z8L1s6-ybhKVenY;6nFAzgYsUs!qH(sPQ%uYLU0L+ii`uV(bKBe8u4^(j?>{5kw(yo)tbWd?Ma6rz zhaC~nnfD{ZVA(5c??XawtxBcdOZm2PXI#AX@j{mK`Yk34qqctgEZ=tV=H4Q)J4gR+ zU+g{ixRz4M&(;^SQXX!Q=>77v-QUM+*2CH(OFO;`hYFqS|DZZ)W$lmq+%~^5--=n8 zb(@*BE6i4Z$*@lD?UNS{4H;%18Ta{fEU{aBwmm;1-n-uYJ>!yIl}sz49QnD`>=Vpc z-Z32PP3dy+`W10=>-Xca>kUqbT|8X$BHg=Vx zyMb%-b@cOea}5sB^L0ZuK?u!a;D8epfGjQpvh$15QS3z5!41>E0MaoFssnN~B3_Na z3znb&r12=KM(CM}7zSiCrKBweD!mHC%24efYDwb{API6S)Ml6gu=8hOXUL&@{#A(l z+1tQsauu+ebU`uj4p0=If#?k$;5dForDJJH2Jj%G%w)t7S?D%Ce-lx>3TV@9AXY-L zQ4$#XSZwr!`2o`7K{xN4%u-tmpzG^__blk5n8yqpoxx%r^sWV9_ckpvy%czu7x17t z>_(Sgy11AT=%|%IqYY4uZUa^&Sd2yw6A$1qk~y%$Bhek+s@!Sy3FyRgz$66P_yq$? z8m|Jkf?+Wo<%DSLE=Ip-9APFmFuh?h6S#sMaqT#|3(+qSM3~kHEGMv-hWk1}bfeMl z8ABMo6_~EE7!8dz)LX~UO+~+N17RvNFlk^h702xx=;opy-;FSr#}uo%C{cy$FmH5Q z(2tWw*z(8>t1b952KsTW2;(jSTR}t|-iqu#P(1-M09HbSPFsZlQ0bKn9L7KjUC;(p zbj|2zufnu1X`FmhXPcn=2>s9r zgk}4K@L7gD1BPxU`c83#nQ`Ix%!Eb=#ApZyY1RVW7W8e*2wT)6F>C>whPkO3-Awd7 zbO \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" -APP_HOME="`pwd -P`" -cd "$SAVED" - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain --daemon "$@" diff --git a/src/examples/java/simpleform/run_example.sh b/src/examples/java/simpleform/run_example.sh old mode 100755 new mode 100644 diff --git a/src/examples/java/simpleupload/run_example.sh b/src/examples/java/simpleupload/run_example.sh old mode 100755 new mode 100644 diff --git a/src/main/conf/mod.json b/src/main/conf/mod.json deleted file mode 100644 index 7a73a41..0000000 --- a/src/main/conf/mod.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/src/main/java/org/vertx/mods/formupload/Attribute.java b/src/main/java/org/vertx/mods/formupload/Attribute.java index 702053b..00503f3 100644 --- a/src/main/java/org/vertx/mods/formupload/Attribute.java +++ b/src/main/java/org/vertx/mods/formupload/Attribute.java @@ -4,8 +4,8 @@ * @author Tim Fox */ public class Attribute { - public String name; - public String value; + public final String name; + public final String value; public Attribute(String name, String value) { this.name = name; diff --git a/src/main/java/org/vertx/mods/formupload/Upload.java b/src/main/java/org/vertx/mods/formupload/Upload.java index 32e3cb5..4fca1b8 100644 --- a/src/main/java/org/vertx/mods/formupload/Upload.java +++ b/src/main/java/org/vertx/mods/formupload/Upload.java @@ -112,7 +112,7 @@ public void handle(Void event) { }); resume(); } else { - resultHandler.handle(new AsyncResult(ar.exception)); + resultHandler.handle(new AsyncResult().setFailure(ar.exception)); } } }); diff --git a/src/main/javascript/vertx-formupload.js b/src/main/javascript/vertx-formupload.js deleted file mode 100644 index af3eae6..0000000 --- a/src/main/javascript/vertx-formupload.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Created with IntelliJ IDEA. - * User: tim - * Date: 03/10/12 - * Time: 11:57 - * To change this template use File | Settings | File Templates. - */ diff --git a/wmk.bat b/wmk.bat deleted file mode 100644 index 8a0b282..0000000 --- a/wmk.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega