diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/library/build.gradle b/library/build.gradle index 25baa51b..5594b49b 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -7,4 +7,17 @@ dependencies { implementation localGroovy() implementation 'com.squareup:javapoet:1.13.0' implementation 'com.android.tools.build:gradle:3.0.0' +} + +publishing { + repositories { + maven { + name 'xal' + url 'https://maven.apuscn.com/nexus/content/repositories/android-xal-releases/' + credentials(PasswordCredentials) { + username 'yiyazhou' + password 'yiyazhou1234' + } + } + } } \ No newline at end of file diff --git a/library/gradle.properties b/library/gradle.properties index 18cac610..c02df36a 100644 --- a/library/gradle.properties +++ b/library/gradle.properties @@ -1,6 +1,6 @@ #project GROUP=com.github.qq549631030 -VERSION_NAME=1.1.2 +VERSION_NAME=1.1.3-vncb01 POM_ARTIFACT_ID=android-junk-code POM_NAME=AndroidJunkCode diff --git a/library/src/main/groovy/cn/hx/plugin/junkcode/task/AndroidJunkCodeTask.groovy b/library/src/main/groovy/cn/hx/plugin/junkcode/task/AndroidJunkCodeTask.groovy index aca8f012..5fc1cdae 100644 --- a/library/src/main/groovy/cn/hx/plugin/junkcode/task/AndroidJunkCodeTask.groovy +++ b/library/src/main/groovy/cn/hx/plugin/junkcode/task/AndroidJunkCodeTask.groovy @@ -1,6 +1,7 @@ package cn.hx.plugin.junkcode.task import cn.hx.plugin.junkcode.ext.JunkCodeConfig +import cn.hx.plugin.junkcode.template.Dicts import cn.hx.plugin.junkcode.template.ManifestTemplate import cn.hx.plugin.junkcode.template.ResTemplate import com.squareup.javapoet.ClassName @@ -14,6 +15,7 @@ import org.gradle.api.tasks.Nested import org.gradle.api.tasks.OutputDirectories import org.gradle.api.tasks.TaskAction +import javax.lang.model.SourceVersion import javax.lang.model.element.Modifier class AndroidJunkCodeTask extends DefaultTask { @@ -127,7 +129,7 @@ class AndroidJunkCodeTask extends DefaultTask { void generateActivity(String packageName, String activityPreName) { def javaDir = new File(outDir, "java") def className = activityPreName.capitalize() + "Activity" - def layoutName = "${config.resPrefix.toLowerCase()}${packageName.replace(".", "_")}_activity_${activityPreName}" + def layoutName = "${config.resPrefix.toLowerCase()}${packageName.replace(".", "_")}_activity_${activityPreName}".toLowerCase() generateLayout(layoutName) if (!config.excludeActivityJavaFile) { def typeBuilder = TypeSpec.classBuilder(className) @@ -161,12 +163,12 @@ class AndroidJunkCodeTask extends DefaultTask { void generateRes() { //生成drawable for (int i = 0; i < config.drawableCount; i++) { - def drawableName = "${config.resPrefix.toLowerCase()}${generateName(i)}" + def drawableName = "${config.resPrefix.toLowerCase()}${generateName(i, false)}" generateDrawable(drawableName) } //生成string for (int i = 0; i < config.stringCount; i++) { - def name = "${config.resPrefix.toLowerCase()}${generateName(i)}" + def name = "${config.resPrefix.toLowerCase()}${generateName(i, false)}" def value = name addStringByFileIo(name, value) } @@ -364,10 +366,14 @@ class AndroidJunkCodeTask extends DefaultTask { * @param index * @return */ - static String generateName(int index) { + static String generateNameIntern(int index, boolean upperCase = true) { def sb = new StringBuffer() - for (i in 0..4) { - sb.append(abc[random.nextInt(abc.size())]) + sb.append(Dicts.getRandomWord()) + + if (upperCase) { + sb.append(Dicts.getRandomWord().capitalize()) + } else { + sb.append('_').append(Dicts.getRandomWord()) } int temp = index while (temp >= 0) { @@ -380,4 +386,13 @@ class AndroidJunkCodeTask extends DefaultTask { sb.append(index.toString()) return sb.toString() } + + static String generateName(int index, boolean upperCase = true) { + for (; ;) { + def name = generateNameIntern(index, upperCase) + if (SourceVersion.isIdentifier(name) && !SourceVersion.isKeyword(name)) { + return name + } + } + } } \ No newline at end of file diff --git a/library/src/main/groovy/cn/hx/plugin/junkcode/template/Dicts.java b/library/src/main/groovy/cn/hx/plugin/junkcode/template/Dicts.java new file mode 100644 index 00000000..60bafa74 --- /dev/null +++ b/library/src/main/groovy/cn/hx/plugin/junkcode/template/Dicts.java @@ -0,0 +1,16 @@ +package cn.hx.plugin.junkcode.template; + +import java.util.Random; + +public class Dicts { + static public String[] WORDS = new String[]{ + "abbreviation","abide","abnormal","abort","abortion","abreast","abrupt","absurd","absurdity","accessory","acclaim","activate","acupuncture","addict","addiction","addictive","adhere","adherence","adjacent","adolescent","adolescence","adore","adorable","advent","adversary","adverse","adversity","aesthetic","aesthetics","affiliate","affiliation","affirm","affirmation","affirmative","affix","affixation","afloat","aftermath","aggravate","aggravation","aggregate","agitate","agitation","agony","aide","ailment","airborne","akin","alien","alienate","alienation","align","alignment","allergic","allergy","alleviate","alleviation","allocate","allocation","allot","allotment","alloy","allude","allusion","allure","allurement","almighty","aloft","alternate","alternation","alternately","amass","ambiguous","ambiguity","amend","amendment","amiable","ammunition","amplify","amplification","analogue","analogous","analogy","anecdote","anecdotal","anguish","animate","animated","animation","annex","annexation","anonymous","anonymity","antagonism","antagonist","antagonistic","antagonistically","antenna","antibiotic","antonym","appal","appall","appalling","appease","appeasement","appendix","appraise","appraisal","apprentice","appropriate2","appropriation","apron","aptly","arbitrate","arbitration","arch","archive","ardent","arena","aristocrat","aristocratic","aristocracy","armor","armour","array","arrogant","arrogance","artery","articulate","articulation","artifact","artillery","ascend","ascendance","ascertain","ascribe","aspire","aspiration","assassinate","assassination","assassin","assault","assert","assertion","assertive","assimilate","assimilation","assorted","assortment","astray","asylum","atlas","atrocity","atrocious","auction","auctioneer","audit","auditing","auditor","augment","augmentation","autobiography","autobiographic","autonomous","autonomy","auxiliary","avail","avenge","avert","aversion","baffle","bald","barge","barn","barometer","barracks","barren","bass","batter","bead","beak","beckon","beetle","benevolent","benevolence","benign","beset","besiege","beware","bewilder","bewilderment","bibliography","bilateral","binoculars","bishop","bizarre","blackmail","blaze","bleach","bleak","blink","bloc","bluff","blunder","blunt","blush","bolster","botany","botanical","bouquet","bout","boycott","brace","breach","brew","brewery","brigade","brink","brisk","bronze","brood","bruise","buddhism","buddhist","buffalo","buffer","bureaucrat","bureaucratic","bureaucracy","burglar","burglary","bust","butt","buzz","calcium","cannon","canoe","canvas","cape","capsule","caption","captive","caravan","carbohydrate","cardinal","carton","carve","carving","casino","casualty","catastrophe","catastrophic","cathedral","catholic","cauliflower","cavity","celebrity","cemetery","censor","censorship","census","ceramic","certify","certification","chamber","chancellor","chant","chapel","choir","chord","chronic","chronically","chronicle","chunk","civic","clamp","clan","clasp","cleanse","clearance","clearing","clench","clergy","cloak","closet","cluster","clutch","coalition","cocaine","cockpit","cocktail","coconut","coexist","coexistence","cognitive","cognition","coincide","coincidence","collide","collision","colonel","comet","comic","commemorate","commemoration","commend","commendation","commonwealth","compartment","compassion","compassionate","compile","compilation","complacent","complacency","complement","complementary","complexion","compliment","complimentary","composite","compress","compression","concede","concession","conceit","conceited","conceive","conception","concise","concurrent","condolence","conducive","confederation","confederate","confer","confide","configuration","congregate","congregation","connotation","consecutive","conserve","conservation","console","consolation","conspicuous","conspire","conspiracy","constituent","constituency","constrain","constraint","consulate","consul","contagious","contemplate","contemplation","contemplative","contingent","contrive","convene","converge","convergence","converse","convict","conviction","convoy","coral","cordial","cordiality","cork","corporal","corpse","correlate","correlation","correlative","corrode","corrosion","cosmetic","cosmopolitan","counteract","counteraction","counterfeit","coup","courtesy","cozy","cosy","crackdown","cradle","cram","crate","crave","credential","credible","credibility","cricket","cripple","crisp","criterion","crouch","crow","crude","crumble","crunch","crust","cuisine","culminate","culmination","cult","cumulative","cunning","curfew","curtail","custody","cylinder","cynical","cynicism","dart","dazzle","deadlock","debris","debut","decimal","decree","dedicate","dedication","deduce","deducible","deduct","deduction","deductive","deductible","default","defer","degenerate","degeneration","degrade","degradation","delicacy","delude","delusion","demographic","denote","denotation","denounce","denunciation","depict","depiction","deplete","depletion","deplore","deploy","deployment","deport","deportation","depot","depreciate","depreciation","deprive","deprivation","derail","derailment","deregulate","deregulation","designate","designation","desolate","despise","destiny","destine","destined","detach","detached","detachment","detain","detention","deter","deterrent","detergent","detriment","detrimental","devastate","devastating","devastation","deviate","deviation","devour","diesel","differentiate","differentiation","diffuse","diffusion","dilute","dilution","diminish","dinosaur","directory","disarm","disarmament","discern","disclose","disclosure","discord","discourse","discreet","discrepancy","dismantle","dismay","dispatch","despatch","dispense","disperse","displace","displacement","disposition","disregard","dissent","dissertation","dissident","distil","distill","distort","distortion","divert","diversion","dividend","divine","doctrine","dodge","dogma","dole","domain","dome","dough","downgrade","doze","drawback","dread","dreadful","dressing","dubious","duplicate","duplication","dwarf","dwell","dweller","dwelling","easter","eccentric","eclipse","ecosystem","edible","eject","ejection","elaborate","elaboration","elaborately","elapse","elastic","elasticity","electoral","electorate","elicit","eligible","eligibility","eloquent","eloquence","emancipate","emancipation","embargo","embark","embed","embody","embodiment","embroidery","emigrate","emigration","emigrant","eminent","eminence","empirical","empirically","emulate","emulation","enact","enactment","enclose","enclosure","encyclopedia","encyclopaedia","endeavor","endeavour","endorse","endorsement","endow","endowment","enlist","ensue","entail","entity","entrust","envelop","envisage","envoy","epic","epidemic","epoch","equate","equation","equator","equity","eradicate","eradication","erect","erection","erode","erosion","erosive","errand","erupt","eruption","escalate","escalation","escalator","escort","esteem","esthetic","aesthetic","esthetics","aesthetics","etiquette","evacuate","evacuation","evade","evasive","evasion","evaporate","evaporation","evoke","excerpt","exempt","exemption","exotic","expedition","expire","expiration","exponential","exposition","exquisite","extinct","extinction","extract","extraction","extravagant","extravagance","fabricate","fabrication","fabulous","facet","faction","fascist","fascism","feast","feat","feeble","feminine","feminism","feminist","finite","fiscal","flank","flap","flare","flatter","flattery","fling","flip","flirt","flirtation","flush","flutter","foam","foil","folklore","foretell","forfeit","formidable","fort","fortify","fortification","fortnight","foster","foul","fracture","fragile","fragility","fragrant","fragrance","franchise","frantic","frantically","fraud","fraudulent","friction","fringe","frown","fury","furious","fuse","fusion","futile","futility","galaxy","garlic","gasp","gauge","genre","giggle","glacier","glamor","glamour","glamorous","glamourous","gland","glare","gleam","glide","glider","glitter","glossary","gorge","gospel","graze","grease","greasy","greed","greedy","grid","grill","grim","groan","groove","grope","hamper","handicraft","harass","harassment","hardy","haven","havoc","hawk","heave","hectic","helmet","hemisphere","henceforth","herald","herb","herbal","heroin","hibernate","hibernation","hierarchy","hierarchical","hike","hinge","hitherto","hive","hockey","hoist","homogeneous","homosexual","homo","hormone","hose","hostage","hound","hover","howl","huddle","humane","humanism","humanist","humanitarian","humid","humidity","humiliate","humiliation","hurdle","hurl","hurricane","hybrid","hygiene","hygienic","hypocrisy","hypocritical","hypocrite","hypothesis","hypothetical","hysterical","hysteria","iceberg","icon","ideology","ideological","idiot","idiotic","idol","ignite","ignition","illicit","illiterate","illiteracy","illuminate","illumination","immerse","immersion","imminent","impair","impart","imperative","impetus","imprison","imprisonment","impromptu","inaugurate","inauguration","inborn","incorporate","incorporation","incumbent","incur","indebted","indefinite","indict","indictment","indigenous","indignant","indignation","indulge","indulgence","indulgent","inertia","inflict","infrastructure","infringe","infringement","ingenious","ingenuity","inherent","inhibit","inhibition","inject","injection","inmate","innumerable","insulate","insulation","integral","intellect","intelligible","intercourse","interim","intermediary","intermittent","interrogate","interrogation","intervene","intervention","intimidate","intimidation","intricate","intricacy","intrigue","intrinsic","intrinsically","intuition","intuitive","invalid","inventory","invert","inversion","irrespective","irritate","irritation","irritating","isle","ivory","jack","jargon","jelly","jeopardize","jeopardise","jeopardy","jerk","jockey","jolly","judicial","judiciary","junction","jurisdiction","juvenile","kidnap","kidney","knight","knob","lass","landmark","lash","latitude","lavish","lawsuit","layman","leaflet","legacy","legend","legendary","legitimate","legitimacy","lenient","leniency","lesbian","lever","leverage","levy","lieutenant","lime","limelight","limp","linen","liner","linger","linguistic","linguistics","lipstick","livestock","locomotive","lofty","logistics","logistic","logistical","longevity","longitude","longitudinal","loom","loop","loot","lotion","lottery","lounge","lubricate","lubrication","lucrative","luminous","lure","lyric","lyrical","magistrate","magnify","magnitude","majesty","majestic","malice","malicious","malignant","malnutrition","malpractice","mandate","mandatory","maneuver","manoeuvre","manifest","manifestation","mansion","manuscript","marble","maritime","martyr","martyrdom","masculine","masculinity","massacre","maternal","maternity","meadow","mediate","mediation","mediator","medication","medieval","melody","melodious","menace","mentor","merchandise","mercury","merge","merger","metaphor","metaphorical","meticulous","metropolitan","midst","midwife","milestone","militant","militancy","militia","mindset","mingle","miniature","mint","missionary","moan","mobilize","mobilise","mock","molecule","molecular","momentum","momentous","monarchy","monarch","monopoly","monopolize","monopolise","monotonous","monotony","morale","mortal","mortality","mosquito","mourn","mourning","multilateral","multitude","murmur","mute","mutter","naive","naivety","navigate","navigation","negligent","negligence","negligible","nickname","nitrogen","nominal","nominate","nomination","nominee","nonetheless","noteworthy","notorious","notoriety","notwithstanding","numb","numerical","nurture","nutrition","nutrient","oath","obscene","obscenity","obscure","obscurity","observatory","obsess","obsession","obsessive","obstruct","obstruction","offset","offspring","olive","onset","opaque","operative","oppress","oppression","oppressive","optic","optical","optimum","optimal","ordeal","orthodox","outfit","outlaw","outrage","outrageous","overflow","overhaul","overlap","override","overstate","overt","overturn","oxide","pact","pamphlet","panorama","panoramic","pant","parachute","paradigm","paradise","paralyze","paralyse","paralysis","parameter","parasite","parish","parole","parrot","partisan","partition","passer-by","pasta","pastry","pasture","pathetic","patriot","patriotic","patriotism","patrol","patron","patronize","patronise","patronage","peck","pedal","peddle","peel","peep","pending","pendulum","penguin","peninsula","perch","perfume","perish","permeate","permeation","perpetual","perpetuate","perplex","perplexity","persecute","persecution","pest","pesticide","petition","petitioner","petrochemical","pharmacy","pharmaceutical","physiological","pilgrim","pilgrimage","plaintiff","plateau","plausible","plaza","plea","plead","plight","plumber","poise","poised","poke","polytechnic","ponder","porcelain","porch","porridge","portfolio","portray","portrayal","portrait","potent","pottery","poultry","practitioner","precede","preceding","precedent","predator","predatory","predecessor","predominate","predominance","predominant","premature","premise","premium","preoccupy","preoccupied","prerequisite","preside","prestige","prestigious","presume","presumption","presumably","pretext","prey","probe","profile","prolong","prone","proofread","prop","propaganda","propagate","propagation","propel","propeller","prosecute","prosecution","prosper","prosperity","prosperous","protocol","prototype","proximate","proximity","psychiatry","psychiatric","psychiatrist","pudding","pumpkin","pyramid","quart","query","quest","quiver","radiate","radiation","radiator","radiant","radioactive","radioactivity","ranch","random","rape","rash","ratify","ratification","ration","rattle","reassure","reassurance","recede","recipe","reciprocal","reckless","reconcile","reconciliation","reconciliatory","rectify","rectification","recur","recurrence","redundant","redundancy","reel","referee","referendum","refuge","refugee","refund","refute","refutation","regime","regiment","regimental","rehabilitate","rehabilitation","rehearse","rehearsal","reign","rein","rejoice","rejoicing","relentless","relic","relish","reminiscent","reminiscence","remnant","renaissance","renown","renowned","repel","repertoire","repress","repression","repressive","reproach","repute","reputable","reservoir","reshuffle","restless","retaliate","retaliation","retarded","retort","retrieve","retrieval","retrospect","retrospective","revenge","revengeful","revive","revival","revolt","rhetoric","rhetorical","ridge","rigid","rigidity","rigorous","rigor","ritual","robust","rotten","rotate","rotation","rust","rusty","ruthless","sacred","saddle","safeguard","salmon","salon","salute","salutation","salvage","salvation","sanction","sanctuary","sanitation","sanitary","sarcasm","sarcastic","satire","satirical","saturate","saturation","savage","scenario","scorn","scornful","scramble","scrap","scrape","scrub","scrutinize","scrutiny","sculpture","secular","seduce","seduction","seductive","segregate","segregation","sensation","sensational","sentiment","sentimental","sergeant","serial","shabby","shaft","shark","shatter","shepherd","shield","shipyard","shorthand","shove","showcase","shred","shrewd","shrub","shrubbery","signify","simulate","simulation","simultaneous","sinister","skeptical","sceptical","skim","skull","slack","slam","slash","slaughter","slot","slum","slump","smuggle","smuggling","snail","snap","snatch","sneak","sniff","snob","snobbish","sober","socket","sodium","solicit","solicitor","solidarity","solitary","solitude","solo","soothe","sovereign","sovereignty","spaghetti","spear","specialty","speciality","spectacle","spectacular","spectator","spectrum","spice","spicy","spider","spine","spinal","spiral","sponge","spongy","spotlight","sprawl","sprinkle","squad","stab","stagger","stagnate","stagnation","stagnant","stalk","stall","stammer","stance","standby","staple","stapler","stark","static","stationery","statute","statutory","stereotype","stern","steward","stewardess","stifle","stigma","stipulate","stipulation","stitch","stoop","stout","strain","strait","strand","strangle","stray","streak","streamline","stroke","stroll","stubborn","stumble","stump","stun","stunning","sturdy","submarine","submerge","subordinate","subordination","subscribe","subscription","subscriber","subsidy","subsidize","subsidise","subsistence","subtle","subtlety","suffice","suicide","suicidal","suite","sulfur","sulphur","summon","superintendent","superstition","superstitious","suppress","suppression","suppressive","surpass","surveillance","susceptible","swamp","swap","symmetry","symmetrical","symphony","symposium","syndicate","syndrome","synthesis","synthetic","synthesize","synthesise","taboo","tack","tact","tactful","tactic","tangle","tanker","tariff","tease","temperament","tempo","temporal","tempt","temptation","tenant","tentative","tenure","terminate","termination","terrace","terrain","tertiary","testify","testimony","texture","thermal","thigh","thorn","thorny","threshold","thrift","thrifty","thrill","thriller","throne","tickle","tile","till","tilt","timid","toil","topple","tornado","tournament","toxic","tract","trait","tranquil","tranquility","transcend","transient","transistor","trauma","traumatic","tread","treasury","trek","trench","tribe","tribal","tribune","tribute","trickle","trillion","trim","trivial","trophy","tropic","tropical","trumpet","tuck","tumble","turbulent","turbulence","turmoil","turnout","turnover","turtle","ultra","unanimous","underlie","underlying","unfold","unify","unification","unilateral","unleash","unprecedented","unveil","uphold","uprising","uranium","urine","urinate","vaccine","vaccinate","vaccination","valve","vegetation","vein","velocity","velvet","vent","ventilate","ventilaion","venue","verdict","verge","versatile","versatility","verse","vest","viable","vibrate","vibration","vice","vicinity","vicious","virgin","virginity","vocal","vogue","void","volatile","volatility","voucher","vulgar","waive","waiver","wardrobe","warrant","warranty","watt","weary","weariness","wedge","wharf","whereabouts","whereby","whirl","wholesale","wholesome","wicked","wield","wink","witch","wither","withhold","wrench","wrestle","wrestling","wretched","yacht","yawn","yearn","yearning","zeal","zealous","zigzag","zipper","zoom", + }; + + static public int LENGTH = WORDS.length; + + public static String getRandomWord() { + Random random = new Random(); + return WORDS[random.nextInt(LENGTH)]; + } +}