protected void loadGrailsBuildListeners() { for (Object listener : buildSettings.getBuildListeners()) { if (listener instanceof String) { addGrailsBuildListener((String) listener); } else if (listener instanceof Class<?>) { addGrailsBuildListener((Class<?>) listener); } else { throw new IllegalStateException( "buildSettings.getBuildListeners() returned a " + listener.getClass().getName()); } } }
protected void addGrailsBuildListener(String listenerClassName) { Class<?> listenerClass; try { listenerClass = classLoader.loadClass(listenerClassName); } catch (ClassNotFoundException e) { throw new RuntimeException("Could not load grails build listener class", e); } addGrailsBuildListener(listenerClass); }
@SuppressWarnings("rawtypes") protected void addGrailsBuildListener(Class listenerClass) { if (!GrailsBuildListener.class.isAssignableFrom(listenerClass)) { throw new RuntimeException( "Intended grails build listener class of " + listenerClass.getName() + " does not implement " + GrailsBuildListener.class.getName()); } try { addGrailsBuildListener((GrailsBuildListener) listenerClass.newInstance()); } catch (Exception e) { throw new RuntimeException("Could not instantiate " + listenerClass.getName(), e); } }