# ---------------------------------------------------------------- # 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 = 'csse230-201930-' # replace the following with a description of the course, like 'CSSE 120' courseDescription = 'CSSE 230' #section1_students = [ # "woolleld", #] #section2_students = [ # #] section1_students = [] section1File = open('/class/csse/csse230/scripts/'+repoNamePrefix+'01-users.txt', 'r') for line in section1File: section1_students.append(line.strip()) section1File.close() section2_students = [] section2File = open('/class/csse/csse230/scripts/'+repoNamePrefix+'02-users.txt', 'r') for line in section2File: section2_students.append(line.strip()) section2File.close() section3_students = [] section3File = open('/class/csse/csse230/scripts/'+repoNamePrefix+'03-users.txt', 'r') for line in section3File: section3_students.append(line.strip()) section3File.close() #section4_students = [] #section4File = open('/class/csse/csse230/scripts/'+repoNamePrefix+'04-users.txt\ #', 'r') #for line in section4File: # section4_students.append(line.strip()) #section4File.close() all_students = section1_students + section2_students + section3_students section1_2_students = section1_students + section2_students section2_3_students = section2_students + section3_students #sectionAllFile = open('/class/csse/csse230/scripts/csse230-201710-all-users.txt', 'r') #all_students = [] #for line in sectionAllFile: # all_students.append(line.strip()) #sectionAllFile.close() # ---------------------------------------------------------------- # Defines repositories sets for this course. Used by main script. # ---------------------------------------------------------------- reposSets = [] # first set in the list is the default reposSets.append(RepositorySet("All Students", repoNamePrefix, all_students)) reposSets.append(RepositorySet("Section 1", repoNamePrefix, section1_students)) reposSets.append(RepositorySet("Section 2", repoNamePrefix, section2_students)) reposSets.append(RepositorySet("Section 3", repoNamePrefix, section3_students)) reposSets.append(RepositorySet("Section 1-2", repoNamePrefix, section1_2_students)) reposSets.append(RepositorySet("pascal", repoNamePrefix, [ "pascal10", "pascal11", "pascal12", "pascal13", "pascal14", "pascal15", "pascal16", "pascal17", "pascal18", "pascal19", "pascal20", "pascal21", "pascal22", "pascal23", "pascal24", "pascal25", ])) reposSets.append(RepositorySet("stacks", repoNamePrefix, [ "stacks10", "stacks11", "stacks12", "stacks13", "stacks14", "stacks15", "stacks16", "stacks17", "stacks18", "stacks19", "stacks20", "stacks21", "stacks22", "stacks23", "stacks24", "stacks25", "stacks26", "stacks27", "stacks30", "stacks31", "stacks32", "stacks33", "stacks34", "stacks35", "stacks36", "stacks37", "stacks38", "stacks39", "stacks40", "stacks50", "stacks51", "stacks52", "stacks53", "stacks54", "stacks55", "stacks56", "stacks57", "stacks58" ])) reposSets.append(RepositorySet("hardy", repoNamePrefix, [ "hardy10", "hardy11", "hardy12", "hardy13", "hardy14", "hardy15", "hardy16", "hardy17", "hardy18", "hardy19", "hardy20", "hardy21", "hardy22", "hardy23", "hardy24", "hardy25", "hardy26", "hardy27", "hardy28", "hardy29", "hardy30", "hardy31", "hardy32", "hardy33", "hardy34", "hardy35", "hardy36", "hardy37", "hardy38", "hardy39", "hardy40", "hardy41", "hardy42", "hardy43", "hardy44", "hardy45", "hardy46", "hardy47", "hardy48", "hardy49", "hardy50", "hardy51", "hardy52", "hardy53" ])) reposSets.append(RepositorySet("doublets", repoNamePrefix, [ "doublets10", "doublets11", "doublets12", "doublets13", "doublets14", "doublets15", "doublets16", "doublets17", "doublets18", "doublets19", "doublets20", "doublets21", "doublets22", "doublets23", "doublets24", "doublets25", "doublets26", "doublets27", "doublets28", "doublets29", "doublets30", "doublets31", "doublets32", "doublets33", "doublets34", "doublets35", "doublets36", "doublets37", "doublets38", "doublets39", "doublets40", "doublets41", ])) reposSets.append(RepositorySet("doublets1", repoNamePrefix, [ "doublets10", "doublets11", "doublets12", "doublets13", "doublets14", "doublets15", "doublets16", ])) reposSets.append(RepositorySet("doublets2", repoNamePrefix, [ "doublets17", "doublets18", "doublets19", "doublets20", "doublets21", "doublets22", "doublets23", ])) reposSets.append(RepositorySet("doublets3", repoNamePrefix, [ "doublets24", "doublets25", "doublets26", "doublets27", "doublets28", "doublets29", "doublets30", ])) reposSets.append(RepositorySet("doublets4", repoNamePrefix, [ "doublets31", "doublets32", "doublets33", "doublets34", "doublets35", "doublets36", "doublets37", ])) reposSets.append(RepositorySet("doublets5", repoNamePrefix, [ "doublets38", ])) reposSets.append(RepositorySet("Editor Trees", repoNamePrefix, [ "trees10", "trees11", "trees12", "trees13", "trees14", "trees15", "trees16", "trees20", "trees21", "trees22", "trees23", "trees24", "trees25", "trees30", "trees31", "trees32", "trees33", "trees34", "trees35", "trees36", "trees37", "trees38", ])) reposSets.append(RepositorySet("Editor Trees Sections 1 and 2", repoNamePrefix, [ "trees10", "trees11", "trees12", "trees13", "trees14", "trees15", "trees16", "trees20", "trees21", "trees22", "trees23", "trees24", "trees25", ])) reposSets.append(RepositorySet("Editor Trees Section 3", repoNamePrefix, [ "trees30", "trees31", "trees32", "trees33", "trees34", "trees35", "trees36", "trees37", "trees38", ])) reposSets.append(RepositorySet("SortingRaces", repoNamePrefix, [ "sorting10", "sorting11", "sorting12", "sorting13", "sorting14", "sorting15", "sorting16", "sorting17", "sorting18", "sorting19", "sorting20", "sorting21", "sorting22", "sorting23", "sorting24", "sorting25", "sorting26", "sorting27", "sorting28", "sorting29", "sorting30", "sorting31", "sorting32", "sorting33", "sorting34", "sorting35", "sorting36", "sorting37", "sorting38", "sorting39", "sorting40", "sorting41", "sorting42", "sorting43", "sorting44", "sorting45", "sorting46", "sorting47", "sorting48", "sorting49", "sorting50", "sorting51", "sorting52", "sorting53", "sorting54", "sorting55", "sorting56", "sorting57", "sorting58", "sorting59", "sorting60", "sorting61", "sorting62", "sorting63", ])) reposSets.append(RepositorySet("Scrabble", repoNamePrefix, [ "scrabble-11", "scrabble-12", "scrabble-13", "scrabble-14", "scrabble-15", "scrabble-16", "scrabble-17", "scrabble-21", "scrabble-22", "scrabble-23", "scrabble-24", "scrabble-25", "scrabble-26", "scrabble-27", ])) reposSets.append(RepositorySet("SmallSetforTesting", repoNamePrefix, [ "anderson", "atniptw" ])) # ---------------------------------------------------------------- # Defines project names and unit tests for this course. # Used by main script. # ---------------------------------------------------------------- projects = [] #projects.append(Project("WarmUpAndStretchingWithUnitTests", "anagram.AnagramTests", "list.SortedListTests.java", # "priorityQueue.PQTests.java", "hardysTaxi.HardyTests.java")) projects.append(Project("WarmUpAndStretching")) projects.append(Project("StacksAndQueues")) projects.append(Project("Exam1")) projects.append(Project("Exam1Makeup")) projects.append(Project("Doublets")) projects.append(Project("BinarySearchTree")) projects.append(Project("EditorTrees")) projects.append(Project("TreePractice")) projects.append(Project("TreePracticeHW5")) projects.append(Project("PreorderBuildTree")) projects.append(Project("Exam2")) projects.append(Project("Exam3")) projects.append(Project("Exam2Makeup")) projects.append(Project("StringHashSet")) projects.append(Project("GraphSurfing")) #projects.append(Project("HardyPart2")) #projects.append(Project("TwoDTree", "twodtree.Testing")) projects.append(Project("BinaryHeaps")) projects.append(Project("SortingRaces")) projects.append(Project("FinalExam")) #projects.append(Project("Displayable")) #projects.append(Project("RandomGraphs")) #projects.append(Project("CountMatches")) #projects.append(Project("PascalChristmasTree")) #projects.append(Project("ColorizeFSM")) #projects.append(Project("Evaluator")) #projects.append(Project("Trees") #projects.append(Project("ChangeList")) #projects.append(Project("Threaded")) #projects.append(Project("Queens")) #projects.append(Project("ThreadedTree2")) #projects.append(Project("SkipList")) # ---------------------------------------------------------------- # Defines any additional main menu commands for this course. # Used by main script. # ---------------------------------------------------------------- menuItems = [] # ---------------------------------------------------------------- # Sample code to add a zip command to the menu: # def zipForDownload(data): # if os.access(data.activeProject.name,os.F_OK): # os.system('zip -r %s.zip %s' % (data.activeProject.name, # data.activeProject.name)) # if not os.access(data.activeProject.name + '.zip',os.F_OK): # print '\a\n*** Unable to create zip file ***\n' # return False # menuItems.append(MenuItem('Zip local project subdirectory for download', # zipForDownload)) # ---------------------------------------------------------------- # ---------------------------------------------------------------- # 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