PaltrycreatesandupdatesaportabledevelopmentenvironmentforrecentWindowsinstalls.Youmightwantthisifyouraccountdoesn'thaveadminpermissions,toavoidinterferingwithanysoftwareinstalledonthesystem,ortoapplythebestpracticesofDevOpstoyourdevelopmentenvironment.Setupanewmachineinminutesinsteadofhoursandkeepitup-to-datejustaseasily.Configurableandscriptabletoaccommodateyourneeds.
Thefollowingtoolsareavailable:
7-ZipAnacondaforPythondevelopment(usingtheminimalMinicondaversion)ChromiumEclipseIDEforJavaEEDevelopers(withworkspaceenhancementsincluded)Git(abletosetupSSHkeys,autoclonerepos,andupdatePaltryitself)JavaOpenJDK11LazygitApacheMaven(encryptedserverpasswordssupportincluded)MSYS2(enablesinstallingRubygemswithnativeextensions)Node.jsnpmOpenSSLRubySmartGitVisualStudioCodeWizTreePrerequisitesWindows10(orupgradetoPowerShell5.1)NoapplicationsneedbepreloadedNospecialpermissionsoutsideofbeingabletowritetoauserfolderInstallationCreatealocalfolderforyourportableenvironment(~\Developerrecommended)DownloadthelatestPaltryZIParchiveUnblockthedownloadedZIParchiveSeehereforinstructionsOpenthedownloadedarchiveDragthepaltry-masterfolderinthearchivetotheportableenvironmentfolderyoucreatedaboveandrenameittopaltryOpentheextractedpaltryfolderConfigureyourenvironmentIfyouhaveanexistingconfig.jsonalreadyprepared,overwritetheoneintheextractedPaltryOtherwiseconsidereditingthedefaultconfig.jsontomakeityourownatthispointYoucanalwayscustomizethislaterandrerunthebuildThedefaultconfigcomeswithallthetoolsbutsomefeaturesrequireadditionalconfigurationDoubleclickonbuild.cmdinyourpaltryfolderPaltrywillnowbuildThefirsttimethiswilltakeanywherefrom1-15+minutesdependingonyourselectedpluginsandnetworkspeedBydefault-whenthebuildcompletes-anexplorerwindowwillpopupwithvariousshortcutsFeelfreetolaunchanyofthetoolsfromhereForbonuspointsaddtheseasatoolbarRightclickonyourtaskbarToolbarsNewtoolbar...SelectthesamepathasthewindowlaunchedafterthebuildProtip:youcancopythefullpathfromtheaddressbarofeachConfigurationTheonlyfileusersshouldmodifyisconfig.json.Itisintendedtoencompassalluser-configurablebehavior.Thefollowingisadefinitionofthesupportedconfigurationoptions.
cwd(string)-Thecurrentworkingdirectorytousewhenlaunchingtheconsole.env({string:string})-Environmentvariablestosetfortheportableenvironment.NotethatPathisspecialsinceitisappendedtobyPaltryandsoshouldbeextendedwiththepathoptionbelow.disabled([string])-Ablacklistofthepluginsnottorun.Notethatnonexistantpluginsareignored.Thedefaultconfigtakesadvantageofthistolistavailableplugins"commentedout"byprefixingthemwith//.Removingthe"comment"inthislistwillactuallydisablethatplugin.Ifyoudon'teverintendtodisableapluginfeelfreetoremoveitfromthislistentirely.versions({string:string})-Mosttoolssupportinstallingthelatestavailableversionexceptfor7zip,whichmusthaveaversionset.Themaven,node,npm,andrubytoolssupportspecifyinganexactversionhere.Anemptystringvalueoromittingakeyentirelydefaultstothelatestversion.path([string])-Anarrayofadditionallocationstoaddtoyourpath.UsefullyforaddingothertoolsnotsupportedbyPaltrythatyoumanuallydownloaded.scripts({string:[string]})-Customscriptsaredefinedwiththenameasthekey(thisbecomesthefilename/commandusedtocallthem)andanarrayofthelinesinthescriptasthevalue.Notethesewillcreatebatchfilesthatarerunwiththecommandprompt.eclipse(object)skipIntro(boolean)-Bypassdisplayingmaximizedwelcomescreenthatblocksimmediateuse.unlimitedConsoleOutput(boolean)-Don'tdiscardconsoleoutputafteralimitednumberofcharacters.gitIconDecorations(boolean)-UseiconstolabelGitmodifiedresourcesinsteadoftext.cleanInstallMavenLaunchConfig(boolean)-AddalaunchconfigurationforMaventoperformacleaninstallbuildonthecurrentproject.git(object)ssh(boolean)-EnablingthiswillmakesureyouhaveSSHkeyssetup,generatingthemifneeded.Whenkeysaregenerated,thepublickeywillbeprintedtotheconsole.PleasemakesuretoaddthispublickeytoanygitremotesyouintendtocommunicatewithusingSSH.repos({string:string})-GitrepositoriesyouwantPaltrytocloneautomaticallyonyourbehalf.ThelocalfoldertouseisthekeywiththeremoteURLasthevalue.maven(object)cleanup(boolean)-Optionallycleanupremoterepodatafromyourm2repo.Thiswillresolvesomeissueswithnotfindingcertainartifactsatthecostofalongernextbuild.servers([string])-IfyouuseprivateMavenrepos(suchasaNexusserver)thenaddtheiridsinanarraytothisproperty.Thebuildwillpromptforyourcredentialsandwillsaveencryptedversionsofthemtosettings.xml.Differentcredentialsperserverarenotsupportedatthistime.vscode(object)extensions([string])-Arrayofextensionstoensureareinstalled.Makesuretousethefullyqualifiedpublisher.extensionname.settings(object)-UsersettingsforVSCode.Notethatthesewilloverrideanyexistingsettingsonaper-propertybasis.ApologiesinadvancefortheuglyformattingontheJSONoutput.LicensePaltryisMITlicensed.SeeLICENSE.
评论