# ---------------------------------------------------------------- # This module defines metadata to be used by the batchSVN.py script. # # Copy this module as /class/csse//scripts/batchSVNData.py and # edit it to define the course metadata for . The sample data # in the original file can be used by invoking the batchSVN.py script using # "testing" as the course name argument, e.g.: ./batchSVN.py testing # ---------------------------------------------------------------- import os import sys # ---------------------------------------------------------------- # Hacks the system path so the import of batchSVNTypes works for testing # individual course meta-data on the the server. serverPathToBatchSVN = "/class/csse/resources/Grading" # Change the following line to point to your local checkout of the CSSE # resources trunk if you want to test this file on your local machine: #localMachinePathToBatchSVN = "/Users/cclifton/Documents/Rose/Administrative/resources/Grading" sys.path.append(serverPathToBatchSVN) #sys.path.append(localMachinePathToBatchSVN) from batchSVNTypes import * # ---------------------------------------------------------------- # ---------------------------------------------------------------- # Local variables # ---------------------------------------------------------------- repoNamePrefix = 'csse220-201220-' # replace the following with a description of the course, like 'CSSE 120' courseDescription = 'CSSE 220 - Object-Oriented Software Dev.' # ---------------------------------------------------------------- # Defines repositories sets for this course. Used by main script. # ---------------------------------------------------------------- section1Students = [ "ameslc", "campbeeg", "conwaygt", "dingx", "gartzkds", "harbisjs", "harrissa", "jacksoam", "janeiraj", "koestedj", "mcculfpe", "murphysw", "postcn", "rujirasl", "satchwsm", "smithgb", "swenseen", "toorha", "wangl2", "watterlm", "weirjm" ] section2Students = [ "dialkc", "faulknks", "huangz", "kodamach", "lockarbm", "mccullwc", "minardar", "modivr", "morrista", "naylorbl", "olsonmc", "pearsojw", "piliseal", "riechelp", "robinsdp", "sanderej", "sternetj", "suttonjj", "tuckerme", "yuhasem" ] section3Students = [ "belkat", "bollivbd", "cookmj", "coxap", "freemal", "glenngs", "lucekm", "maxwellh", "mengx", "moorejm", "oharace", "oakesja", "qinz", "ruthat", "smithnf", "sturgedl", "timaeudg", "whiteer", "wuj" ] allStudents = (section1Students + section2Students + section3Students) allStudents.sort() reposSets = [] # first set in the list is the default reposSets.append(RepositorySet("All Students", repoNamePrefix, allStudents)) reposSets.append(RepositorySet("Section1", repoNamePrefix, section1Students)) reposSets.append(RepositorySet("Section2", repoNamePrefix, section2Students)) reposSets.append(RepositorySet("Section3", repoNamePrefix, section3Students)) reposSets.append(RepositorySet("Game of Life", repoNamePrefix, [ "life-team11", "life-team12", "life-team13", "life-team14", "life-team15", "life-team16", "life-team17", "life-team18", "life-team19", "life-team20", "life-team21", "life-team22", "life-team23", "life-team24", "life-team25", "life-team26", "life-team27", "life-team28", "life-team29", "life-team30", "life-team31", "life-team32", "life-team33", "life-team34", "life-team35", "life-team36", "life-team37", "life-team38", "life-team39", "life-team40", "life-team41", "life-team42" ])) reposSets.append(RepositorySet("Ballworlds", repoNamePrefix, [ "BW20", "BW21", "BW22", "BW23", "BW24", "BW25", "BW26", "BW27", "BW28", "BW29", "BW31", "BW32", "BW33", "BW34", "BW35", "BW36", "BW37", "BW38", "BW39", "BW10", "BW11", "BW12", "BW13", "BW14", "BW15", "BW16", "BW17", "BW18", "BW19" ])) reposSets.append(RepositorySet("LodeRunner", repoNamePrefix, [ "Lode21", "Lode22", "Lode23", "Lode24", "Lode25", "Lode26", "Lode27", "Lode31", "Lode32", "Lode33", "Lode34", "Lode35", "Lode36", "Lode37", "Lode11", "Lode12", "Lode13", "Lode14", "Lode15", "Lode16", "Lode17" ])) # ---------------------------------------------------------------- # Defines project names and unit tests for this course. # Used by main script. # ---------------------------------------------------------------- projects = [] projects.append(Project("HW1", "FactorialTest", "SeriesSumTest")) projects.append(Project("ObjectsAndMethods")) #HW2 projects.append(Project("UnitTesting", "StringMethodsPracticeTest", "JUnitMoveTester")) #HW3 projects.append(Project("WordGames")) #HW4 and HW5 projects.append(Project("IntroToJavaGraphics")) #not graded, part of HW6 projects.append(Project("Faces")) #HW6 projects.append(Project("Decisions")) #HW6 projects.append(Project("FundamentalDataTypes")) #HW7 for Boutell projects.append(Project("Iteration", "AnnualInvestmentTest", "InvestmentTest")) #HW7 projects.append(Project("ArraysAndLists", "QuizScoresTest")) #HW8 projects.append(Project("TwoDArrays", "TicTacToeTest", "TicTacToeTestFromInstructors")) #HW10, individual projects.append(Project("GameOfLife", "GameOfLifeTest")) #HW10, team0's #projects.append(Project("Exam1")) projects.append(Project("Exam1")) projects.append(Project("Recursion","examples.SentenceTest")) #HW12 projects.append(Project("SierpinskiTriangle")) #HW12 projects.append(Project("Recursion2")) #HW13 projects.append(Project("SortingAndSearching")) #HW14 #HW15, nothing to turn in projects.append(Project("DesigningClasses")) #HW16 projects.append(Project("OnToInterfaces", "bigRational.BasicBigRationalTest", "bigRational.LargeBigRationalTest")) #HW17 projects.append(Project("EventBasedProgramming")) #HW18 projects.append(Project("Inheritance")) #HW19, LinearLightsOut #projects.append(Project("Inheritance2")) #HW20, but nothing to grade #projects.append(Project("SwingDemo2")) #HW16 projects.append(Project("BallWorlds")) #HW20 projects.append(Project("OODesign")) #HW21 projects.append(Project("Exam2", "problem1.CompareProblemTest", "problem2.MultiplierTest")) projects.append(Project("VectorGraphics")) projects.append(Project("TextTwisterMIDlet")) projects.append(Project("LinkedLists")) #HW24 projects.append(Project("DataStructures")) #HW25 projects.append(Project("Exam2MakeUp")) projects.append(Project("FixedLengthQueue")) #HW25 projects.append(Project("LodeRunner")) #HW25 projects.append(Project("Markov", "Milestone1Tests", "Milestone2Tests")) projects.append(Project("FinalExam")) # ---------------------------------------------------------------- # Defines any additional main menu commands for this course. # Used by main script. # ---------------------------------------------------------------- menuItems = [] # ---------------------------------------------------------------- # A couple of extra menu items that are useful in a pinch, but aren't yet # sufficiently abstracted for general use. # def copyInExtras(data): # forEachRepo("cp ${scriptDir}/*.java ${shortName}/src/btwp/", data) # return False # menuItems.append(MenuItem('Copy in Exam2 test files',copyInExtras)) # # def runTestsExtraMem(data): # forEachRepo("cd ${shortName} && java -Xmx2000m -cp '${scriptDir}/junit-4.5.jar:bin' org.junit.runner.JUnitCore ${testClasses}", data) # return False # menuItems.append(MenuItem('Run JUnit tests with extra memory',runTestsExtraMem)) # ---------------------------------------------------------------- # ---------------------------------------------------------------- # Some test code, executed if this file is imported directly into # a python shell. Shouldn't need to change this when specifying # course-specific data above. # ---------------------------------------------------------------- if __name__ == '__main__': print "reposSets ==", reposSets print "Repositories from reposSets[0]:" for r in reposSets[0].repos(): print " ", r print "repository names: ", [r.name for r in reposSets] print print projects print "Test classes:" for p in projects: print " %s: %s" % (p.name, p.testClasses) print "Additional Menu Items' Text:" for mi in menuItems: print " ", mi.text